Priesečník Excel VBA

VBA Priesečník v matematike alebo v geometrii znamená, keď sa dve alebo viac čiar alebo oblastí pretína. Spoločný bod alebo oblasť vytvorená potom sa nazýva priesečník alebo oblasť. V exceli tiež môžeme zvýrazniť a zmerať oblasť prieniku.

Syntax funkcie priesečníka v Excel VBA

Funkcia protínania má nasledujúcu syntax v programe Excel VBA:

Ako vidíme, Arg1 a Arg2 sú uvedené, Range. A ostatné argumenty sú uvedené v zátvorkách. Čo znamená, že prvé dva argumenty musia byť vybrané ako Range. Alebo inými slovami, na nájdenie križovatky musia byť zahrnuté minimálne 2 oblasti. Ostatné argumenty je možné zvoliť ako Range alebo môžu obsahovať niektoré ďalšie veci alebo parametre, ako aj podľa potreby. Táto syntax môže obsahovať maximálne 30 argumentov.

Ako používať prieniku Excel VBA?

Naučíme sa, ako používať funkciu VBA Intersect s niekoľkými príkladmi v Exceli.

Túto šablónu aplikácie VBA Intersect Excel si môžete stiahnuť tu - šablónu VBA Intersect Excel

VBA priesečník - Príklad č. 1

V prvom príklade zvýrazníme a vytvoríme oblasť prieniku, keď budeme mať nejaký súbor údajov. Na tento účel máme vzorové údaje, ktoré majú 3 stĺpce plné čísel, ako je uvedené nižšie.

Teraz musíme nájsť priesečník vyššie uvedenej tabuľky údajov pomocou VBA Intersect. Postupujte podľa nasledujúcich krokov:

Krok 1: Prejdite do okna VBA a otvorte modul z ponuky Vložiť možnosť, ako je uvedené nižšie.

Dostaneme prázdne okno modulu.

Krok 2: Teraz napíšte podkategóriu VBA Priesečník alebo akékoľvek iné meno podľa vášho výberu.

kód:

 Sub VBAIntersect1 () End Sub 

Krok 3: Teraz priamo vložte príkaz Intersect, ako je to znázornené nižšie.

kód:

 Sub VBAIntersect1 () Priesečník (End Sub 

Ako sme už vysvetlili podrobnú syntax Intersect, pridáme oblasť priesečníka. Môžeme zvoliť N počet rozsahov, ale mali by tam byť minimálne dve rozsahy.

Uvažujme pod priesečníkovou oblasťou, kde prvá oblasť je od A1 do B8, druhá oblasť je B3 až C12 a tretia oblasť je A7 až C10. Môžeme zvážiť a zvoliť akúkoľvek kombináciu vzoru križovatiek.

Teraz sa pozrime, v akom okamihu (-och) sa tieto oblasti stretávajú a prelínajú. Spoločnou oblasťou vytvorenou vo všetkých vyššie uvedených oblastiach bude naša oblasť priesečníka.

Krok 4: Teraz v VBA module priesečníka vyberte prvý rozsah oblasti, ako je uvedené nižšie.

kód:

 Sub VBAIntersect1 () Intersect (Range ("A1: B8") End Sub 

Pridali sme prvý rozsah, ale naša syntax je stále neúplná.

Krok 5: Teraz vložte ďalšie dve oblasti, ktoré sme diskutovali vyššie, oddelené čiarkami.

kód:

 Sub VBAIntersect1 () Intersect (Range ("A1: B8"), Range ("B3: C12"), Range ("A7: C10")) End Sub 

Krok 6: Teraz uveďte podmienku ako „True“.

kód:

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

Týmto je náš kód dokončený.

Krok 7: Teraz zostavte kód a spustite kliknutím na tlačidlo Prehrať, ktoré sa nachádza pod panelom s ponukami, ako je to znázornené nižšie.

Dostaneme spoločnú oblasť alebo priesečníkovú oblasť, ktorá má hodnotu PRAVDA, ako je uvedené vyššie. Aj keď sme dostali priesečníkovú oblasť, TRUE nahradila údaje, ktoré sa nachádzali v priesečníkovej oblasti.

Krok 8: Aby sme sa tomu nestratili, môžeme zmeniť pozadie farby, tieto spoločné bunky na akúkoľvek farbu podľa nášho výberu. Za týmto účelom po syntaxi Intersect použite funkciu Interior spolu s Color, ako je to znázornené nižšie.

kód:

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

Krok 9: Teraz vo VBA nemôžeme použiť názov farby, ktorú chceme použiť priamo. Preto je potrebné pridať „ vb “, ktorý sa používa na aktiváciu farieb dostupných vo VBA. Teraz ho použite a pridajte ľubovoľný názov farby podľa vášho výberu. Vyberáme tu zelenú, ako je znázornené nižšie.

kód:

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

Krok 10: Teraz znova napíšte napísaný kód naraz, pretože je dosť malý a spustite ho.

Uvidíme, že farba priesečníka sa zmení na zelenú a spoločnú, ktorá sa vytvorí priesečníkom rôznych 3 plôch v B7 až B8.

VBA priesečník - Príklad č. 2

Existuje iný, ale celkom iný spôsob použitia VBA Intersect. Tentoraz použijeme priesečník v konkrétnom pracovnom hárku. V hárku 2 sme označili oblasť od B4 do E8, ako je uvedené nižšie.

Postupujte podľa nasledujúcich krokov:

Krok 1: Vo VBA prejdite na hárok 2 aktuálneho zošita, ako je to znázornené nižšie.

Krok 2: Z tejto prvej rozbaľovacej ponuky teraz vyberte pracovný hárok . To umožní použitie kódu iba v tomto aktuálnom hárku.

Krok 3: A z druhého rozbaľovacieho zoznamu vyberte možnosť Zmeniť tak, ako je to znázornené nižšie. Používa sa na zacielenie zmien vykonaných vo vybranom rozsahu.

Krok 4: Náš kód napíšeme iba v prvej podkategórii.

kód:

 Private Sub Worksheet_Change (ByVal Target As Range) End Sub 

Krok 5: Použijeme slučku If-Else na vytvorenie podmienky pre priesečníkovú funkciu.

kód:

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

Krok 6: Najskôr vyberte cieľový rozsah od B4 do E8, ako je uvedené nižšie. Zameria sa to hlavne na priesečník oblastí zahrnutých v B4 až E8.

kód:

 Súkromné ​​čiastkové pracovné listy_Zmena (ByVal Target As Range) Ak sa pretína (Target, Range ("B4: E8"))) End If End Sub 

Krok 7: A ak v cieľovej oblasti nie je nič, musíme napísať vyhlásenie, ktoré presmeruje kód dopredu.

kód:

 Súkromné ​​čiastkové pracovné listy_Zmena (ByVal Target As Range) Ak sa pretína (Target, Range ("B4: E8"))), nič sa neskončí, ak End Sub 

Krok 8: Ak je cieľ skutočne mimo dosahu, môžeme použiť okno so správou s upozornením, ako je uvedené nižšie.

kód:

 Private Sub Worksheet_Change (ByVal Target As Range) Ak sa pretína (Target, Range ("B4: E8"))), potom nič nie je MsgBox "Out of range" End if End End Sub 

Krok 9: A vo výroku Else, kde je niečo napísané vnútri poľa, potom by sme mali dostať okamžitú správu, ak je napísaný obsah vnútri poľa, ako je to znázornené nižšie.

kód:

 Private Sub Worksheet_Change (ByVal Target As Range) Ak sa pretína (Target, Range ("B4: E8"))), potom nič nie je MsgBox "Mimo rozsah" Els MsgBox "V rozsahu" End if End Sub 

Krok 10: Teraz zostavte každý krok napísaného kódu a zatvorte pracovný list VBA. Ako sme napísali kód špecifický pre hárok, bude fungovať rovnako.

Krok 11: Teraz niečo napíšte do škatule.

Ako vidíme, napísali sme 2 do bunky C5 vo vnútri poľa, dostali sme správu alebo „ V rozsahu “.

Krok 12: Znovu napíšte niečo z krabice. Napísali sme 1 do bunky B10 a dostali sme správu „Mimo rozsah“, ako je uvedené nižšie.

Toto je ďalší spôsob použitia križovatky v Excel VBA.

Výhody Excel VBA priesečník

  • Je veľmi ľahké aspoň zvýrazniť oblasť, ktorá sa pretína postupom z príkladu 1.
  • Toto je veľmi užitočné v prípadoch, keď musíme filtrovať alebo pracovať na takom type údajov, ktoré sa priesečník nachádzajú z inej oblasti, ako sú napríklad dátumy, vlastník atď.

Čo je potrebné pamätať

  • Nezabudnite uložiť súbor vo formáte Macro Enable Excel, aby kód fungoval pri každom použití.
  • Pri písaní kódu v hárku namiesto modulu, ako je znázornené v príklade 2, urobte kód použiteľný iba pre tento hárok. Tento kód nebude fungovať na žiadnom inom hárku.
  • Použitie cieľového rozsahu, ako je uvedené v príklade 2, je užitočné pri určovaní oblasti, ktorá sa má zasiahnuť.

Odporúčané články

Toto je sprievodca križovatke VBA. Tu diskutujeme o tom, ako používať Excel VBA Intersect Function spolu s niekoľkými praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Príklady slučiek VBA
  2. Excel COLUMN na číslo
  3. VBA do slučky
  4. Vytvorte rozpočet v Exceli

Kategórie: