Przecięcie VBA Excel

VBA Przecinają się w matematyce lub geometrii, gdy przecinają się dwie lub więcej linii lub obszarów. Utworzony później wspólny punkt lub obszar nazywa się Punktem przecięcia lub obszarem. W programie Excel możemy również wyróżnić i zmierzyć obszar przecięcia.

Składnia funkcji przecięcia w programie Excel VBA

Funkcja przecinania ma następującą składnię w VBA Excel:

Jak widać, wspomniane są Arg1 i Arg2, Range. A pozostałe argumenty podano w nawiasach. Co oznacza, że ​​pierwsze dwa argumenty muszą być wybrane jako Zakres. Innymi słowy, aby znaleźć przecięcie, należy uwzględnić minimum 2 obszary. Reszta argumentów może być wybrana jako Zakres lub może zawierać inne rzeczy lub parametry, a także w zależności od potrzeb. Ta składnia może pomieścić maksymalnie 30 argumentów.

Jak korzystać z funkcji przecinania Excel VBA?

Nauczymy się korzystać z funkcji przecinania VBA z kilkoma przykładami w Excelu.

Możesz pobrać ten szablon Excel VBA Intersect tutaj - Szablon Excel VBA Intersect

Przecięcie VBA - Przykład 1

W pierwszym przykładzie wyróżnimy i utworzymy obszar przecięcia, gdy będziemy mieli zbiór danych. W tym celu mamy przykładowe dane, które mają 3 kolumny wypełnione liczbami, jak pokazano poniżej.

Teraz musimy znaleźć obszar przecięcia powyższej tabeli danych za pomocą VBA Intersect. W tym celu wykonaj następujące kroki:

Krok 1: Przejdź do okna VBA i otwórz moduł z opcji menu Wstaw, jak pokazano poniżej.

Otrzymamy puste okno modułu.

Krok 2: Teraz napisz podkategorię VBA Intersect lub pod dowolną inną nazwą zgodnie z twoim wyborem.

Kod:

 Sub VBAIntersect1 () End Sub 

Krok 3: Teraz bezpośrednio wstaw polecenie Przecięcie, jak pokazano poniżej.

Kod:

 Sub VBAIntersect1 () Intersect (End Sub 

Jak już wyjaśniliśmy szczegółową składnię przecięcia, dodamy obszar przecięcia. Możemy wybrać N zakresów, ale powinny tam być co najmniej dwa zakresy.

Rozważmy poniżej obszaru przecięcia, gdzie pierwszy obszar jest od A1 do B8, drugi obszar to B3 do C12, a trzeci obszar to A7 do C10. Możemy rozważyć i wybrać dowolną kombinację wzoru skrzyżowań.

Zobaczmy teraz, w którym punkcie (-ach) te obszary się spotykają i przecinają. Wspólny obszar utworzony przez wszystkie powyższe obszary będzie naszym obszarem skrzyżowania.

Krok 4: Teraz w module przecięcia VBA wybierz pierwszy zakres obszaru, jak pokazano poniżej.

Kod:

 Sub VBAIntersect1 () Przecięcie (zakres („A1: B8”) End Sub 

Dodaliśmy pierwszy zakres, ale nasza składnia jest wciąż niepełna.

Krok 5: Teraz dalej wstaw pozostałe dwa obszary, które omówiliśmy powyżej, oddzielone przecinkami.

Kod:

 Sub VBAIntersect1 () Przecięcie (Range („A1: B8”), Range („B3: C12”), Range („A7: C10”)) End Sub 

Krok 6: Podaj teraz warunek „Prawda”.

Kod:

 Sub VBAIntersect1 () Intersect (Range („A1: B8”), Range („B3: C12”), Range („A7: C10”)) = True End Sub 

To uzupełnia nasz kod.

Krok 7: Teraz skompiluj kod i uruchom, klikając przycisk Odtwórz, który znajduje się pod paskiem menu, jak pokazano poniżej.

Otrzymamy wspólny obszar lub przecięty obszar, który ma wartość PRAWDA, jak pokazano powyżej. Chociaż otrzymaliśmy obszar przecięcia, PRAWDA zastąpiła dane, które były tam w obszarze przecięcia.

Krok 8: Teraz, aby uniknąć utraty tego, możemy zmienić tło koloru, te wspólne komórki na dowolny wybrany przez nas kolor. W tym celu po składni przecięcia użyj funkcji Wnętrze wraz z kolorem, jak pokazano poniżej.

Kod:

 Sub VBAIntersect1 () Intersect (Range („A1: B8”), Range („B3: C12”), Range („A7: C10”)). Interior.Color = End Sub 

Krok 9: Teraz w VBA nie możemy użyć nazwy koloru, którego chcemy użyć bezpośrednio. W tym celu musimy dodać „ vb ”, który służy do aktywacji kolorów dostępnych w VBA. Teraz użyj go i dodaj dowolną nazwę wybranego koloru. Wybieramy tutaj kolor zielony, jak pokazano poniżej.

Kod:

 Sub VBAIntersect1 () Intersect (Range („A1: B8”), Range („B3: C12”), Range („A7: C10”)). Interior.Color = vb Green End Sub 

Krok 10: Teraz ponownie skompiluj napisany kod za jednym razem, ponieważ kod jest dość mały i uruchom go.

Zobaczymy, że kolor przecinanego obszaru jest zmieniany na Zielony i wspólny obszar, który jest tworzony przez przecięcie różnych 3 obszarów w B7 do B8.

Przecięcie VBA - Przykład 2

Istnieje inny, ale całkiem inny sposób korzystania z VBA Intersect. Tym razem używamy przecięcia w określonym arkuszu. W arkuszu 2 zaznaczyliśmy obszar od B4 do E8, jak pokazano poniżej.

Wykonaj poniższe kroki:

Krok 1: W VBA przejdź do arkusza 2 bieżącego skoroszytu, jak pokazano poniżej.

Krok 2: Teraz wybierz arkusz z tej pierwszej rozwijanej opcji. Umożliwi to użycie kodu tylko w bieżącym arkuszu.

Krok 3: I z drugiego menu wybierz opcję Zmień, jak pokazano poniżej. Służy do kierowania zmianami dokonanymi w wybranym zakresie.

Krok 4: Napiszemy nasz kod tylko w pierwszej podkategorii.

Kod:

 Prywatny arkusz podrzędny_Zmień (docelowy ByVal jako zakres) Koniec podrzędny 

Krok 5: Użyjemy pętli If-Else do utworzenia warunku dla funkcji przecięcia.

Kod:

 Private Sub Worksheet_Change (ByVal Target As Range) If End If End Sub 

Krok 6: Najpierw wybierz zakres docelowy od B4 do E8, jak pokazano poniżej. Będzie to ukierunkowane głównie na przecięcie obszaru objętego obszarami od B4 do E8.

Kod:

 Prywatny arkusz podrzędny_Zmień (docelowy byVal jako zakres) Jeśli przecinają się (cel, zakres („B4: E8”)) Koniec jeśli koniec podrzędny 

Krok 7: A jeśli w obszarze docelowym nie ma nic, musimy napisać instrukcję, która przekieruje kod do przodu.

Kod:

 Prywatny arkusz podrzędny_Zmień (docelowy ByVal jako zakres) Jeśli przecięcie (cel, zakres („B4: E8”)) jest niczym, to koniec, jeśli koniec podrzędny 

Krok 8: Jeśli naprawdę cel jest poza zasięgiem, możemy użyć okna komunikatu z komunikatem ostrzegawczym, jak pokazano poniżej.

Kod:

 Prywatny arkusz podrzędny_Zmień (ByVal Target As Range) Jeśli przecinają się (Target, Range („B4: E8”)) to nic, to MsgBox „Out of Range” End If End Sub End 

Krok 9: I w instrukcji Else, gdzie coś jest napisane wewnątrz pudełka, powinniśmy otrzymać monit, jeśli zapisana zawartość znajduje się wewnątrz pudełka, jak pokazano poniżej.

Kod:

 Prywatny arkusz podrzędny_Zmień (cel ByVal jako zakres) Jeśli przecinają się (cel, zakres („B4: E8”)) nie jest niczym, wówczas MsgBox „Poza zakresem” Else MsgBox „W zasięgu” Koniec Jeśli koniec Sub 

Krok 10: Teraz skompiluj każdy krok napisanego kodu i zamknij arkusz roboczy VBA. Ponieważ napisaliśmy kod specyficzny dla arkusza, będzie on działał tak samo.

Krok 11: Teraz napisz coś w pudełku.

Jak widzimy, napisaliśmy 2 w komórce C5 wewnątrz pudełka, otrzymaliśmy komunikat „ W zasięgu ”.

Krok 12: Ponownie napisz coś z pudełka. Napisaliśmy 1 w komórce B10 i otrzymaliśmy komunikat „Poza zakresem”, jak pokazano poniżej.

Jest to inny sposób korzystania z przecięcia w programie Excel VBA.

Plusy Excel VBA przecinają się

  • Bardzo łatwo jest przynajmniej zaznaczyć obszar, który przecina się w procesie z przykładu 1.
  • Jest to bardzo przydatne, gdy musimy filtrować lub pracować na tego rodzaju danych, które przecinają się z innego obszaru, takiego jak Daty, Właściciel itp.

Rzeczy do zapamiętania

  • Pamiętaj, aby zapisać plik w formacie Macro Enable Excel, aby kod działał przy każdym użyciu.
  • Wpisując kod w Arkuszu zamiast modułu, jak pokazano w przykładzie-2, ustaw kod tylko dla tego arkusza. Ten kod nie będzie działał na żadnym innym arkuszu.
  • Korzystanie z zakresu docelowego, jak pokazano w przykładzie 2, jest przydatne do określania obszaru do trafienia.

Polecane artykuły

To jest przewodnik po VBA Intersect. Tutaj omawiamy, jak używać Excel VBA Intersect Function wraz z praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Przykłady dotyczące pętli VBA
  2. Excel KOLUMNA na liczbę
  3. VBA Do Until Loop
  4. Utwórz budżet w programie Excel

Kategoria: