Jak używać unii w vba (z przykładem)
Możesz użyć metody Union w VBA, aby połączyć wiele zakresów w jeden.
Oto powszechny sposób wykorzystania tej metody w praktyce:
SubUseUnion ()
Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"
End Sub
To konkretne makro łączy zakresy A1:A10 i C1:C10 w jeden zakres, a następnie przypisuje formułę Excel =RANDBETWEEN(1, 100) do każdej wartości w tym połączonym zakresie, co daje losową wartość od 1 do 100.
Poniższy przykład pokazuje jak w praktyce wykorzystać metodę Union w VBA.
Przykład: Jak używać Unii w VBA do łączenia zakresów
Możemy zdefiniować następujące makro w VBA, aby użyć metody Union do połączenia zakresów A1:A10 i C1:C10 :
SubUseUnion ()
Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Każda komórka w zakresach A1:A10 i C1:C10 zawiera teraz formułę =RANDBETWEEN(1, 100) , która zwraca losową liczbę całkowitą z zakresu od 1 do 100.
Należy również pamiętać, że w metodzie Unii możemy podać więcej niż dwa zakresy.
Na przykład moglibyśmy utworzyć następujące makro, które korzysta z metody Union w celu połączenia trzech różnych zakresów, a następnie wstawić formułę do komórki każdego zakresu:
SubUseUnion () Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"), Range("D1:D5" )) UnionRange.Formula = "=RANDBETWEEN(1, 100)" End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Wszystkie trzy zakresy, które połączyliśmy w jeden, zawierają teraz formułę RANDBETWEEN .
Uwaga : Pełną dokumentację metody VBA Union znajdziesz tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
Jak używać przecięcia w VBA
Jak policzyć liczbę kolumn używanych w VBA
Jak policzyć liczbę arkuszy w skoroszycie w VBA