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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *