Excel VBA Intersect

VBA Preseka v matematiki ali v geometriji pomeni, ko se dve ali več črt ali območja prečkata. Skupna točka ali območje, ki se ustvari za tem, se imenuje presečišče ali območje. V odličnem primeru lahko izpostavimo in merimo območje Intersect.

Sintaksa funkcije preseka v Excelu VBA

Intersect funkcija ima v Excelu VBA naslednjo skladnjo:

Kot vidimo, sta omenjena Arg1 in Arg2, Range. In ostali argumenti so v oklepajih. Kar pomeni, da morata biti prva dva argumenta izbrana kot Range. Ali z drugimi besedami, za iskanje križišča morata biti vključeni najmanj 2 območji. Preostanek argumentov lahko izberete kot obseg ali lahko vključuje nekatere druge stvari ali parametre ter po potrebi. Ta skladnja lahko sprejme največ 30 argumentov.

Kako uporabljati Excel VBA Intersect funkcijo?

Spoznali bomo uporabo funkcije VBA Intersect z nekaj primeri v Excelu.

To predlogo VBA Intersect Excel lahko prenesete tukaj - VBA Predloga za presek Excel

VBA Križišče - primer št. 1

V prvem primeru bomo osvetlili in ustvarili območje Intersection, ko bomo imeli nekaj podatkovnih zbirk. Za to imamo vzorčne podatke, ki imajo 3 stolpce, napolnjene s številkami, kot je prikazano spodaj.

Zdaj moramo najti območje presečišča zgornje tabele s pomočjo VBA Intersect. Za to sledite spodnjim korakom:

1. korak: Pojdite v okno VBA in odprite modul v meniju Vstavi, kot je prikazano spodaj.

Dobili bomo prazno okno modula.

2. korak: Zdaj napišite podkategorijo VBA Intersect ali v katerem koli drugem imenu, kot želite.

Koda:

 Pod VBAIntersect1 () Konec Sub 

3. korak: Zdaj neposredno vstavite ukaz Intersect, kot je prikazano spodaj.

Koda:

 Sub VBAIntersect1 () Presečišče (End Sub 

Kot smo že pojasnili podrobno skladnjo Intersect, bomo dodali območje preseka. Izberemo lahko N število razponov, vendar morata biti najmanj dva razpona.

Spodaj si oglejmo območje križišča, kjer je prvo območje od A1 do B8, drugo območje od B3 do C12 in tretje območje od A7 do C10. Lahko razmislimo in izberemo katero koli kombinacijo vzorca križišč.

Zdaj pa poglejmo, na kateri točki (-i) se ta območja srečujejo in sekajo drug drugega. Skupno območje, ki ga bodo ustvarila vsa zgoraj navedena območja, bo naše presečišče.

Korak 4: Zdaj v modulu VBA Intersect izberite prvo območje območja, kot je prikazano spodaj.

Koda:

 Sub VBAIntersect1 () Presek (obseg ("A1: B8") konec Sub 

Dodali smo prvo območje, vendar je naša sintaksa še vedno nepopolna.

5. korak: Zdaj vstavite preostanek dveh področij, o katerih smo govorili zgoraj, ločenih z vejicami.

Koda:

 Pod VBAIntersect1 () Križišče (območje ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) End Sub 

6. korak: Zdaj podajte pogoj kot »Res«.

Koda:

 Pod VBAIntersect1 () Križišče (območje ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) = True End Sub 

S tem dopolnimo našo kodo.

7. korak: Zdaj sestavite kodo in zaženite s klikom na gumb Play, ki se nahaja pod menijsko vrstico, kot je prikazano spodaj.

Dobili bomo skupno območje ali presečeno območje, ki ima vrednost TRUE, kot je prikazano zgoraj. Čeprav smo dobili območje preseka, je TRUE zamenjal podatke, ki so bili tam na območju preseka.

Korak 8: Zdaj, da se tega ne izgubimo, lahko spremenimo barvno ozadje, tiste običajne celice v katero koli barvo po naši izbiri. Za to po sintaksi Intersect uporabite notranjo funkcijo in barvo, kot je prikazano spodaj.

Koda:

 Pod VBAIntersect1 () Križišče (domet ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) Notranjost.Color = End Sub 

9. korak: V VBA ne moremo uporabiti imena barve, ki jo želimo neposredno uporabiti. Za to moramo dodati " vb ", ki se uporablja za aktiviranje barv, ki so na voljo v VBA. Zdaj jo uporabite in dodajte poljubno ime barve po vaši izbiri. Tu izbiramo zeleno, kot je prikazano spodaj.

Koda:

 Pod VBAIntersect1 () Križišče (domet ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) Notranjost.Color = vbGreen End Sub 

10. korak: Znova sestavite pisno kodo naenkrat, saj je koda precej majhna in jo zaženite.

Videli bomo, da je barva presekanega območja spremenjena v Zelena in skupna površina, ki je ustvarjena s presečiščem različnih treh področij v B7 do B8.

VBA Križišče - primer # 2

Obstaja še en, a precej drugačen način uporabe VBA Intersect. Tokrat uporabljamo presek v določenem delovnem listu. V Sheet2 smo označili območje od B4 do E8, kot je prikazano spodaj.

Sledite spodnjim korakom:

1. korak: V VBA pojdite na Sheet2 trenutnega delovnega zvezka, kot je prikazano spodaj.

2. korak: Zdaj izberite delovni list iz te prve spustne možnosti. To bo omogočilo uporabo kode samo na tem trenutnem listu.

3. korak: V drugem spustnem meniju izberite možnost Spremeni, kot je prikazano spodaj. Uporablja se za ciljanje na spremembe v izbranem območju.

4. korak: Kodo bomo napisali samo v prvi podkategoriji.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Končni pod 

5. korak: Uporabili bomo zanko If-Else za oblikovanje pogoja za funkcijo preseka.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Če se konča Če konec Sub 

6. korak: Najprej izberite ciljno območje od B4 do E8, kot je prikazano spodaj. To bo usmerjeno predvsem na presek območja, zajetega v B4, do E8.

Koda:

 Zasebni pod-delovni list_Spremeni (ByVal Target As Range) Če sekajo (Target, range ("B4: E8")) End If End Sub 

Korak 7: In če na ciljnem področju ni nič, moramo napisati izjavo, ki bo preusmerila kodo naprej.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Če sekajo (Target, domet ("B4: E8") nič, potem konec, če konec Sub 

8. korak: In če res ni cilja, lahko uporabimo polje s sporočilom opozorila, kot je prikazano spodaj.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Če sekajo (Target, domet ("B4: E8") nič, potem MsgBox "Out of range" konec, če konec Sub 

9. korak: In v stavku Else, kjer je nekaj napisanega znotraj polja, bi morali dobiti hitro sporočilo, če je zapisana vsebina v polju, kot je prikazano spodaj.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Če sekališče (Target, Range ("B4: E8") ni nič, potem MsgBox "Out of Range" ostalo MsgBox "znotraj dosega" End If End Sub 

Korak 10: Zdaj sestavite vsak korak pisne kode in zaprite delovni list VBA. Kot smo napisali kodo, ki je značilna za list, bo delovala v istem.

11. korak: Zdaj napišite nekaj v polje.

Kot vidimo, smo v polje C5 zapisali 2 v polje, dobili smo sporočilo ali " Znotraj dosega ".

12. korak: Spet nekaj napišite iz polja. V celico B10 smo napisali 1 in dobili smo sporočilo "Izven dosega", kot je prikazano spodaj.

To je še en način uporabe Intersect v Excelu VBA.

Prednosti Excel VBA sekajo

  • Zelo enostavno je vsaj poudariti območje, ki se seka s postopkom primera-1.
  • To je zelo koristno, kadar moramo filtrirati ali delati na takšnih podatkih, ki sekajo drugo območje, kot so datumi, lastnik itd.

Stvari, ki jih je treba zapomniti

  • Ne pozabite, da datoteko shranite v formatu Macro Enable Excel, da bo koda delovala pri vsaki uporabi.
  • Za pisanje kode v Sheet namesto modula, kot je prikazano v primeru 2, naj bo koda uporabna samo za ta list. Ta koda ne bo delovala na nobenem drugem listu.
  • Uporaba ciljnega območja, kot je prikazano v primeru-2, je koristno pri določanju območja, ki ga želite doseči.

Priporočeni članki

To je vodnik za VBA Intersect. Tukaj smo razpravljali o uporabi Excel VBA Intersect funkcije skupaj z nekaj praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Primeri za zanke VBA
  2. Excel COLUMN na številko
  3. VBA Do Loop
  4. Ustvarite proračun v Excelu

Kategorija: