Excel VBA presijecanje

VBA presijeca u matematici ili u geometriji znači kada dvije ili više linija ili područja prelaze jedna drugu. Zajednička točka ili područje stvoreno nakon toga naziva se točka sjecišta ili područja. U izvrsnosti također možemo istaknuti i izmjeriti područje presijecanja.

Sintaksa funkcije presijecanja u Excelu VBA

Intersect funkcija ima sljedeću sintaksu u Excelu VBA:

Kao što vidimo, spominju se Arg1 i Arg2, domet. A ostatak argumenata je u zagradama. Što znači da prva dva argumenta moraju biti odabrana kao raspon. Ili drugim riječima, najmanje dva područja moraju biti uključena u pronalaženje presijeca. Ostatak argumenata može se odabrati kao raspon ili može uključivati ​​neke druge stvari ili parametre kao i prema potrebi. Ta se sintaksa može smjestiti do 30 argumenata.

Kako koristiti Excel VBA funkciju presijecanja?

Naučit ćemo kako koristiti VBA Intersect funkciju s nekoliko primjera u Excelu.

Možete preuzeti ovaj VBA Intersect Excel predložak ovdje - VBA Intersect Excel predložak

VBA presijek - Primjer br. 1

U prvom ćemo primjeru istaknuti i stvoriti područje Intersection kad imamo neki skup podataka. Za to imamo uzorke podataka koji imaju 3 stupca napunjena brojevima kao što je prikazano u nastavku.

Sada trebamo pronaći područje sjecišta gore navedene tablice podataka pomoću VBA Intersect. Za to slijedite dolje navedene korake:

Korak 1: Otvorite prozor VBA i otvorite modul iz opcije izbornika Umetanje, kao što je prikazano u nastavku.

Dobit ćemo prazan prozor modula.

Korak 2: Sada napišite podkategoriju VBA Intersect ili u bilo koje drugo ime po vašem izboru.

Kodirati:

 Sub VBAIntersect1 () Kraj Sub 

Korak 3: Sada izravno umetnite naredbu Intersect kao što je prikazano u nastavku.

Kodirati:

 Sub VBAIntersect1 () Presijecanje (Kraj Sub 

Kao što smo već objasnili detaljnom sintaksom Intersect-a, dodaćemo područje sjecišta. Možemo odabrati N broj raspona, ali trebaju biti najmanje dva raspona.

Razmotrimo ispod područja raskrižja gdje je prvo područje od A1 do B8, drugo područje B3 do C12, a treće područje A7 do C10. Možemo razmotriti i odabrati bilo koju kombinaciju obrasca sjecišta.

A sad da vidimo u kojoj se to točki (i) sastaju i presijecaju. Zajedničko područje stvoreno od svih gore navedenih područja bit će naše područje raskrižja.

Korak 4: Sada u VBA modulu presijecanja odaberite prvi raspon područja kao što je prikazano u nastavku.

Kodirati:

 Sub VBAIntersect1 () Presijecanje (raspon ("A1: B8") kraj Sub 

Dodali smo prvi raspon, ali naša je sintaksa još uvijek nepotpuna.

Korak 5: Sada dodatno umetnite ostatak dva područja o kojima smo gore raspravljali odvojena zarezima.

Kodirati:

 Sub VBAIntersect1 () Presijecanje (raspon ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) Kraj Sub 

Korak 6: Sada navedite uvjet kao "Točno".

Kodirati:

 Sub VBAIntersect1 () presijecati (raspon ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) = True End Sub 

Time se dovršava naš kod.

Korak 7: Sada sastavite kôd i pokrenite klikom na gumb Play koji se nalazi ispod trake izbornika kao što je prikazano u nastavku.

Dobit ćemo zajedničko područje ili presječeno područje koje ima vrijednost TRUE kao što je gore prikazano. Iako smo dobili područje presijecanja, TRUE je zamijenio podatke koji su se nalazili na tom presiječenom području.

Korak 8: Sada da to ne bismo izgubili, možemo promijeniti pozadinu boje, one uobičajene ćelije, u bilo koju boju po našem izboru. Za ovo nakon sintakse Intersect koristite unutarnju funkciju zajedno s Bojom kao što je prikazano u nastavku.

Kodirati:

 Sub VBAIntersect1 () presijecati (raspon ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) Unutrašnjost.Color = kraj sub 

Korak 9: Sada u VBA ne možemo upotrijebiti naziv boje koju želimo izravno koristiti. Za to moramo dodati " vb " koji se koristi za aktiviranje boja dostupnih u VBA. Sada ga koristite i dodajte bilo koje ime boje po vašem izboru. Ovdje biramo Zeleno kao što je prikazano u nastavku.

Kodirati:

 Sub VBAIntersect1 () presijecati (raspon ("A1: B8"), domet ("B3: C12"), domet ("A7: C10")) Unutrašnjost.Color = vbGreen End Sub 

Korak 10: Sada ponovo sastavite napisanu šifru u jednom potezu jer je kôd prilično mali i pokrenite je.

Vidjet ćemo kako se boja presiječanog područja mijenja u Zelenu i zajednički prostor koji nastaje sjecištem tri različita područja u B7 do B8.

VBA presijek - primjer br. 2

Postoji još jedan, ali sasvim drugačiji način korištenja VBA Intersect. Ovaj put koristimo presijecanje na određenom radnom listu. Na Sheet2 označili smo područje od B4 do E8 kao što je prikazano u nastavku.

Slijedite dolje navedene korake:

Korak 1: U VBA idite na list 2 trenutne radne knjige kao što je prikazano u nastavku.

Korak 2: Sada odaberite radni list iz ove prve padajuće opcije. To će omogućiti upotrebu koda samo u ovom trenutnom listu.

Korak 3: A iz drugog padajućeg izbornika odaberite opciju Promjena kao što je prikazano u nastavku. To se koristi za ciljanje promjena izvršenih u odabranom rasponu.

Korak 4: Kôd ćemo napisati samo u prvoj potkategoriji.

Kodirati:

 Private Sub Worksheet_Change (ByVal Target As Range) Kraj Sub 

Korak 5: Koristit ćemo If-Else petlju za formiranje uvjeta za funkciju presijecanja.

Kodirati:

 Private Sub Worksheet_Change (ByVal Target As Range) Ako završi Ako Kraj Sub 

Korak 6: Prvo odaberite ciljni raspon od B4 do E8 kao što je prikazano u nastavku. To će ciljati uglavnom na presijecanje područja obuhvaćenog B4 do E8.

Kodirati:

 Private Sub Worksheet_Change (ByVal Target As Range) Ako se presijeca (Cilj, raspon ("B4: E8")) End End Sub 

Korak 7: A ako u ciljnom području nema ništa, moramo napisati izjavu koja će kôd preusmjeriti unaprijed.

Kodirati:

 Private Sub Worksheet_Change (ByVal Target As Range) Ako se presijeca (Ciljani, raspon ("B4: E8")) ništa ne prestane, ako Kraj Sub 

Korak 8: Ako je stvarno cilj izvan dometa, možemo koristiti okvir s porukom upozorenja kao što je prikazano u nastavku.

Kodirati:

 Private Sub Worksheet_Change (ByVal Target As Range) Ako se presijeca (Cilj, raspon ("B4: E8") nije ništa, onda MsgBox "Van dometa" Kraj Ako Kraj Sub 

Korak 9: I u izjavi Else gdje je nešto napisano unutar okvira, tada bismo trebali dobiti brzu poruku ako je pisani sadržaj unutar okvira, kao što je prikazano u nastavku.

Kodirati:

 Private Sub Worksheet_Change (ByVal Target As Range) Ako se presijeca (Cilj, raspon ("B4: E8") nije ništa, onda MsgBox "Van dometa" Ostalo MsgBox "unutar raspona" End If End Sub 

Korak 10: Sada sastavite svaki korak pisanog koda i zatvorite radni list VBA. Kao što smo napisali kod specifičan za list, tada će raditi u istom.

Korak 11: Sada napišite nešto u okvir.

Kao što vidimo, napisali smo 2 u ćeliji C5 unutar okvira, dobili smo poruku ili „ unutar dometa “.

12. korak: Opet napišite nešto iz okvira. U ćeliju B10 napisali smo 1 i dobili smo poruku "izvan raspona" kao što je prikazano u nastavku.

To je još jedan način korištenja Intersect u Excelu VBA.

Prosci Excel VBA presijecaju

  • Vrlo je lako barem istaknuti područje koje se presijeca procesom primjera-1.
  • To je vrlo korisno tamo gdje trebamo filtrirati ili raditi na takvoj vrsti podataka koji imaju sjecište iz različitog područja kao što su datumi, vlasnik, itd.

Stvari koje treba zapamtiti

  • Ne zaboravite da datoteku spremite u makronaredbi Omogući Excel format, tako da će kôd funkcionirati u svakoj upotrebi.
  • Kôd za pisanje u Sheet umjesto modula kao što je prikazano u primjeru 2, učini da kod bude primjenjiv samo za taj list. Taj kôd neće raditi na bilo kojem drugom listu.
  • Upotreba ciljanog raspona kao što je prikazano u primjeru 2 korisna je u određivanju područja koje treba pogoditi.

Preporučeni članci

Ovo je vodič za VBA raskrižje. Ovdje smo raspravljali o tome kako koristiti Excel VBA Intersect funkciju zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. Primjeri za VBA petlje
  2. Excel COLUMN na broj
  3. VBA do petlje
  4. Stvorite proračun u Excelu

Kategorija: