Jak korzystać z przecięcia w vba (z przykładami)
Możesz użyć metody Intersect w języku VBA, aby zwrócić zakres reprezentujący przecięcie dwóch określonych zakresów.
Oto powszechny sposób wykorzystania tej metody w praktyce:
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
Można następnie wprowadzić tę funkcję bezpośrednio do arkusza Excel, określając dwa zakresy, a funkcja zwróci każdą z wartości z zakresu, który reprezentuje przecięcie tych dwóch zakresów.
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję z następującym zbiorem danych w Excelu:
Przykład 1: Znajdź przecięcie dwóch zakresów (w rezultacie jedna komórka)
Załóżmy, że chcemy zwrócić wartość komórki reprezentującą przecięcie zakresu A2:C2 i A1:A11 .
W VBA możemy zdefiniować następującą funkcję:
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
Możemy następnie wpisać tę funkcję bezpośrednio do komórki w naszym arkuszu kalkulacyjnym:
Formuła zwraca wartość Mavs , która reprezentuje przecięcie zakresu A2:C2 i A1:A11 :
Przykład 2: Znajdź przecięcie dwóch zakresów (w rezultacie wiele komórek)
Załóżmy, że chcemy zwrócić cały zakres komórek reprezentujący przecięcie zakresu A1:C3 i A1:B10 .
W VBA możemy zdefiniować następującą funkcję:
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
Możemy następnie wpisać tę funkcję bezpośrednio do komórki w naszym arkuszu kalkulacyjnym:
Formuła zwraca cały prostokątny zakres wartości reprezentujący przecięcie zakresu A1:C3 i A1:B10 :
Uwaga : Pełną dokumentację metody VBA Intersect znajdziesz tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak policzyć liczbę użytych kolumn
VBA: Jak liczyć wiersze w tabeli
VBA: Jak policzyć liczbę arkuszy w skoroszycie