Excel VBA korsar

VBA korsar i matematik eller i geometri betyder när två eller flera rader eller område korsar varandra. Den gemensamma punkten eller området som skapas efter det kallas skärningspunkt eller område. I excel kan vi också markera och mäta korsningsområdet.

Syntax för skärning av funktion i Excel VBA

Korsningsfunktionen har följande syntax i Excel VBA:

Som vi ser nämns Arg1 och Arg2, Range. Och resten av argumenten finns inom parentes. Vilket innebär att de två första argumenten måste väljas som Range. Eller med andra ord, minst 2 områden måste inkluderas för att hitta korsning. Resten av argumenten kan väljas som Range eller det kan inkludera vissa andra saker eller parametrar såväl som per behov. Denna syntax kan rymma högst 30 argument.

Hur använder jag Excel VBA skärningsfunktion?

Vi kommer att lära dig att använda en VBA Intersect-funktion med några exempel i Excel.

Du kan ladda ner den här VBA-skärningen för Excel-mall här - VBA-skärningen för Excel-mallen

VBA korsar - exempel # 1

I det första exemplet kommer vi att markera och skapa Intersection-området när vi har några datasätt. För detta har vi provdata som har 3 kolumner fyllda med siffror som visas nedan.

Nu måste vi hitta skärningens område mellan en ovanstående datatabell med VBA-skärning. För detta följer du stegen nedan:

Steg 1: Gå till VBA-fönstret och öppna en modul från menyalternativet Infoga som visas nedan.

Vi får ett tomt fönster i modulen.

Steg 2: Skriv nu underkategori av VBA-skärning eller i något annat namn enligt ditt val.

Koda:

 Sub VBAIntersect1 () End Sub 

Steg 3: Sätt nu direkt in skärningskommandot som visas nedan.

Koda:

 Sub VBAIntersect1 () Intersect (End Sub 

Eftersom vi redan förklarade den detaljerade syntaxen för Intersect kommer vi att lägga till ett skärningspunkt. Vi kan välja N-antal intervall men minst två intervall ska vara där.

Låt oss överväga nedanför ett korsningsområde där det första området är från A1 till B8, det andra området är B3 till C12 och det tredje området är A7 till C10. Vi kan överväga och välja valfri kombination av ett mönster med korsningar.

Låt oss nu se vid vilken punkt (er) dessa områden möts och korsar varandra. Det gemensamma området som skapas av alla ovanstående områden kommer att vara vårt skärningspunkt.

Steg 4: Välj nu det första områdesområdet i VBA-modul för skärningspunkten som visas nedan.

Koda:

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

Vi har lagt till det första intervallet, men vår syntax är fortfarande ofullständig.

Steg 5: Sätt nu in resten av två områden som vi har diskuterat ovan, separerade med komma-tecken.

Koda:

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

Steg 6: Ge nu villkoret som "Sant".

Koda:

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

Detta kompletterar vår kod.

Steg 7: Sätt nu ihop koden och kör genom att klicka på knappen Spela som finns under menyfältet som visas nedan.

Vi får det gemensamma området eller det korsade området som har värde SANT som visas ovan. Även om vi fick det korsade området, har det Sanna ersatt data som fanns i det korsade området.

Steg 8: Nu för att undvika att förlora detta kan vi ändra färgbakgrunden, de vanliga cellerna till valfri färg. För detta efter syntaxen för Intersect, använd Interiörfunktion tillsammans med Färg som visas nedan.

Koda:

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

Steg 9: Nu i VBA kan vi inte använda namnet på färgen som vi vill använda direkt. För detta måste vi lägga till ” vb ” som används för att aktivera tillgängliga färger i VBA. Använd nu den och lägg till valfritt namn på färgen. Vi väljer Grönt här som visas nedan.

Koda:

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

Steg 10: Sätt nu igen den skrivna koden på en gång eftersom koden är ganska liten och kör den.

Vi ser färgen på det korsade området ändras till Grönt och gemensamt område som skapas genom skärningspunkten mellan olika 3 områden i B7 till B8.

VBA korsar - exempel # 2

Det finns ett annat men ett helt annat sätt att använda VBA Intersect. Den här gången använder vi korsar i ett specifikt kalkylblad. I ark2 har vi markerat ett område från B4 till E8 som visas nedan.

Följ stegen nedan:

Steg 1: I VBA, gå till Blad2 i aktuell arbetsbok som visas nedan.

Steg 2: Välj nu kalkylbladet från det här första rullgardinsalternativet. Detta gör att koden endast kan användas i det aktuella arket.

Steg 3: Och från det andra listrutan väljer du alternativet Ändra som visas nedan. Detta används för att rikta in de ändringar som gjorts i det valda intervallet.

Steg 4: Vi skriver bara vår kod i den första underkategorin.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) End Sub 

Steg 5: Vi använder If-Else-slingan för att skapa ett villkor för skärning av funktionen.

Koda:

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

Steg 6: Välj först målområdet från B4 till E8 som visas nedan. Detta kommer att rikta in skärningspunkten mellan det område som omfattas av B4 till E8 huvudsakligen.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Om korsar (Target, Range ("B4: E8")) End If End Sub 

Steg 7: Och om det inte finns något i målområdet måste vi skriva ett uttalande som kommer att omdirigera koden framåt.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Om korsar (Target, Range ("B4: E8")) är ingenting slutar om End Sub 

Steg 8: Och om målet verkligen är utom räckvidd kan vi använda en meddelanderuta med ett varningsmeddelande som visas nedan.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Om korsar (Target, Range ("B4: E8")) är inget då MsgBox "Out of Range" End If End Sub 

Steg 9: Och i annat uttalande där det finns något skrivet inuti rutan bör vi få ett snabbmeddelande om det skriftliga innehållet finns i rutan som visas nedan.

Koda:

 Private Sub Worksheet_Change (ByVal Target As Range) Om korsar (Target, Range ("B4: E8")) är ingenting då MsgBox "Out of Range" Annars MsgBox "Inom räckvidd" End If End Sub 

Steg 10: Sätt nu samman varje steg med skriftlig kod och stäng kalkylbladet för VBA. Eftersom vi har skrivit koden som är specifik för arket fungerar den på samma sätt.

Steg 11: Skriv nu något i rutan.

Som vi ser skrev vi 2 i cell C5 inuti rutan fick vi meddelandet eller " Inom räckvidd ".

Steg 12: Skriv igen något ur rutan. Vi skrev 1 i cell B10 och vi fick meddelandet om "Out of Range" som visas nedan.

Detta är ett annat sätt att använda Intersect i Excel VBA.

Fördelar med Excel VBA skär

  • Det är väldigt lätt att åtminstone lyfta fram det område som korsas genom processen med exempel-1.
  • Detta är mycket användbart när vi behöver filtrera eller arbeta med den typen av data som har skärningspunkten från ett annat område som Datum, Ägare etc.

Saker att komma ihåg

  • Kom ihåg att spara filen i Macro Enable Excel-format, så att koden kommer att fungera vid varje användning.
  • Att skriva kod i ark istället för modulen som visas i exempel-2, gör koden endast tillämplig för det arket. Den koden fungerar inte på något annat ark.
  • Att använda målområdet som visas i exempel-2 är användbart för att ange det område som ska träffas.

Rekommenderade artiklar

Detta är en guide till VBA Intersect. Här diskuterar vi hur du använder Excel VBA Intersect-funktion tillsammans med några praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Exempel på VBA Loops
  2. Excel COLUMN to Number
  3. VBA gör tills slingan
  4. Skapa en budget i Excel

Kategori: