Excel VBA krysser

VBA Krysser i matematikk eller i geometri betyr når to eller flere linjer eller område krysser hverandre. Det vanlige punktet eller området som opprettes etter det kalles skjæringspunkt eller -område. I Excel kan vi også markere og måle kryssområdet.

Syntaks for skjæringsfunksjon i Excel VBA

Kryssfunksjon har følgende syntaks i Excel VBA:

Som vi ser, blir Arg1 og Arg2 nevnt, Range. Og resten av argumentene ligger i parentes. Noe som betyr at de to første argumentene må velges som Range. Eller med andre ord, minimum 2 områder må inkluderes for å finne kryss. Resten av argumentene kan velges som Range, eller det kan inkludere noen andre ting eller parametere så vel som per behov. Denne syntaksen har plass til maksimalt 30 argumenter.

Hvordan bruke Excel VBA skjæringsfunksjon?

Vi lærer hvordan du bruker en VBA skjæringsfunksjon med få eksempler i Excel.

Du kan laste ned denne VBA krysser Excel-malen her - VBA krysser Excel-malen

VBA krysser - eksempel # 1

I det første eksemplet vil vi markere og opprette Intersection-området når vi har noen datasett. For dette har vi eksempeldata som har 3 kolonner fylt med tall som vist nedenfor.

Nå må vi finne skjæringsområdet mellom en datatabell ovenfor ved hjelp av VBA kryss. Følg trinnene nedenfor for å gjøre dette:

Trinn 1: Gå til VBA-vinduet og åpne en modul fra menyvalget Sett inn som vist nedenfor.

Vi får et blankt vindu på modulen.

Trinn 2: Skriv nå underkategori til VBA-krysset eller i et hvilket som helst annet navn etter ditt valg.

Kode:

 Sub VBAIntersect1 () Slutt Sub 

Trinn 3: Sett nå direkte inn krysset kommandoen som vist nedenfor.

Kode:

 Sub VBAIntersect1 () Kryss (End Sub 

Som vi allerede har forklart den detaljerte syntaks for Intersect, vil vi legge til et kryssområde. Vi kan velge N antall områder, men minimum to områder bør være der.

La oss se nærmere på et kryssområde der det første området er fra A1 til B8, det andre området er B3 til C12 og det tredje området er A7 til C10. Vi kan vurdere og velge hvilken som helst kombinasjon av et skjæringsmønster.

La oss nå se på hvilke punkt (er) disse områdene møtes og krysser hverandre. Fellesområdet skapt av alle ovennevnte områder vil være vårt kryssområde.

Trinn 4: Nå i VBA Module of Intersect, velg det første områdeområdet som vist nedenfor.

Kode:

 Sub VBAIntersect1 () Kryss (Range ("A1: B8") Slutt Sub 

Vi har lagt til det første området, men syntaksen er fortsatt ufullstendig.

Trinn 5: Sett inn ytterligere resten av to områder som vi har diskutert ovenfor atskilt med kommaer.

Kode:

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

Trinn 6: Gi nå tilstanden som “Sann”.

Kode:

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

Dette fullfører koden vår.

Trinn 7: Sett sammen koden og kjør ved å klikke på Play-knappen som ligger under menylinjen som vist nedenfor.

Vi vil få fellesområdet eller det kryssede området som har verdi SANN som vist ovenfor. Selv om vi fikk kryssområdet, har SANNET erstattet dataene som var der i det kryssede området.

Trinn 8: For å unngå å miste dette kan vi endre fargebakgrunnen, de vanlige cellene til hvilken som helst farge du ønsker. For dette etter syntaks av Intersect bruk interiørfunksjon sammen med farge som vist nedenfor.

Kode:

 Sub VBAIntersect1 () Kryss (Range ("A1: B8"), Range ("B3: C12"), Range ("A7: C10")). Interiør.Farge = End Sub 

Trinn 9: Nå i VBA, kan vi ikke bruke navnet på fargen som vi vil bruke direkte. For dette må vi legge til “ vb ” som brukes til å aktivere fargene som er tilgjengelige i VBA. Nå bruker du den og legger til et hvilket som helst navn på fargen du ønsker. Vi velger Grønt her som vist nedenfor.

Kode:

 Sub VBAIntersect1 () Kryss (Range ("A1: B8"), Range ("B3: C12"), Range ("A7: C10")). Interiør.Farge = vbGreen End Sub 

Trinn 10: Sett sammen den skrevne koden på nytt ettersom koden er ganske liten og kjør den.

Vi vil se fargen på det kryssede området endres til grønt og felles område som er opprettet ved krysset mellom forskjellige 3 områder i B7 til B8.

VBA krysser - eksempel # 2

Det er en annen, men en ganske annen måte å bruke VBA Intersect på. Denne gangen bruker vi krysser i et spesifikt regneark. I ark2 har vi markert et område fra B4 til E8 som vist nedenfor.

Følg trinnene nedenfor:

Trinn 1: Gå til Sheet2 i gjeldende arbeidsbok i VBA, som vist nedenfor.

Trinn 2: Velg nå regnearket fra dette første nedtrekksalternativet. Dette gjør at koden bare kan brukes i dette gjeldende arket.

Trinn 3: Og fra det andre rullegardinmenyen velger du alternativet Endre som vist nedenfor. Dette brukes til å målrette endringene som er gjort i det valgte området.

Trinn 4: Vi vil bare skrive koden vår i den første underkategorien.

Kode:

 Private Sub Worksheet_Change (ByVal Target As Range) Slutt Sub 

Trinn 5: Vi bruker If-Else-sløyfen for å danne en betingelse for skjæringsfunksjon.

Kode:

 Private Sub Worksheet_Change (ByVal Target As Range) Hvis Slutt Hvis Slutt Sub 

Trinn 6: Velg først målområdet fra B4 til E8 som vist nedenfor. Dette vil målrette krysset mellom området dekket i B4 til E8 hovedsakelig.

Kode:

 Privat underarbeidsark_Endring (ByVal Target As Range) Hvis krysset (Target, Range ("B4: E8")) End If End Sub 

Trinn 7: Og hvis det ikke er noe i målområdet, må vi skrive en uttalelse som vil omdirigere koden fremover.

Kode:

 Privat underarbeidsark_Endring (byval mål som rekkevidde) Hvis kryssing (mål, rekkevidde ("B4: E8")) er ingenting, avsluttes hvis slutt sub 

Trinn 8: Og hvis målet virkelig er utenfor rekkevidde, kan vi bruke en meldingsboks med en varselmelding som vist nedenfor.

Kode:

 Private Sub Worksheet_Change (ByVal Target As Range) Hvis krysset (Target, Range ("B4: E8")) er ingenting, er MsgBox "Out of Range" End If End Sub 

Trinn 9: Og i den andre uttalelsen der noe er skrevet inne i boksen, bør vi få en hurtigmelding hvis det skrevne innholdet er inne i boksen som vist nedenfor.

Kode:

 Private Sub Worksheet_Change (ByVal Target As Range) Hvis krysset (Target, Range ("B4: E8")) Er ingenting, er MsgBox "Out of Range" Else MsgBox "innen rekkevidde" End If End Sub 

Trinn 10: Sett sammen hvert trinn med skrevet kode og lukk regnearket til VBA. Siden vi har skrevet koden som er spesifikk for arket, vil den fungere på samme måte.

Trinn 11: Skriv nå noe inni boksen.

Som vi ser skrev vi 2 i celle C5 inne i boksen, vi fikk meldingen eller “ Innenfor rekkevidde ”.

Trinn 12: Skriv igjen noe ut av boksen. Vi skrev 1 i celle B10 og vi fikk beskjeden om “Utenfor rekkevidde” som vist nedenfor.

Dette er en annen måte å bruke Intersect i Excel VBA.

Fordeler med Excel VBA krysser

  • Det er veldig enkelt å i det minste markere området som krysser hverandre ved hjelp av eksempel-1.
  • Dette er veldig nyttig der vi trenger å filtrere eller jobbe med den typen data som har skjæringspunkt fra et annet område som Datoer, eier, etc.

Ting å huske

  • Husk å lagre filen i Macro Enable Excel-format, slik at koden vil fungere ved enhver bruk.
  • Når du skriver kode i arket i stedet for modulen som vist i eksempel-2, gjør koden bare gjeldende for det arket. Den koden vil ikke fungere på noe annet ark.
  • Å bruke Målområde som vist i eksempel-2 er nyttig når du skal spesifisere området du vil treffe.

Anbefalte artikler

Dette er en guide til VBA Kryss. Her diskuterer vi hvordan du bruker Excel VBA skjæringsfunksjon sammen med noen praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Eksempler på VBA Loops
  2. Excel KOLONN til nummer
  3. VBA Gjør til sløyfe
  4. Lag et budsjett i Excel

Kategori: