Как использовать union в vba (с примером)
Вы можете использовать метод Union в VBA, чтобы объединить несколько диапазонов в один.
Вот распространенный способ использования этого метода на практике:
SubUseUnion ()
Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"
End Sub
Этот конкретный макрос объединяет диапазоны A1:A10 и C1:C10 в один диапазон, а затем присваивает формулу Excel =СЛУЧМЕЖДУ(1, 100) каждому значению в этом объединенном диапазоне, что создает случайное значение от 1 до 100.
В следующем примере показано, как на практике использовать метод Union в VBA.
Пример: как использовать Union в VBA для объединения диапазонов
Мы можем определить следующий макрос в VBA, чтобы использовать метод Union для объединения диапазонов A1:A10 и C1:C10 :
SubUseUnion ()
Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Каждая ячейка в диапазонах A1:A10 и C1:C10 теперь содержит формулу =СЛУЧМЕЖДУ(1, 100) , которая возвращает случайное целое число от 1 до 100.
Также обратите внимание, что мы можем предоставить методу Union более двух диапазонов.
Например, мы могли бы создать следующий макрос, который использует метод Union для объединения трех разных диапазонов, а затем вставляет формулу в ячейку каждого диапазона:
SubUseUnion () Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"), Range("D1:D5" )) UnionRange.Formula = "=RANDBETWEEN(1, 100)" End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Все три диапазона, которые мы объединили в один, теперь содержат формулу СЛУЧМЕЖДУ .
Примечание . Полную документацию по методу VBA Union можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
Как использовать пересечение в VBA
Как подсчитать количество столбцов, используемых в VBA
Как посчитать количество листов в книге в VBA