Excel VBA snijpunt

VBA Snijden in wiskunde of in geometrie betekent wanneer twee of meer lijnen of gebieden elkaar kruisen. Het daarna gemaakte gemeenschappelijke punt of gebied wordt snijpunt of gebied genoemd. In Excel kunnen we ook het snijpuntgebied markeren en meten.

Syntaxis van snijfunctie in Excel VBA

De functie Snijden heeft de volgende syntaxis in Excel VBA:

Zoals we kunnen zien, worden Arg1 en Arg2 genoemd, Range. En de rest van de argumenten staat tussen haakjes. Dit betekent dat de eerste twee argumenten moeten worden geselecteerd als Bereik. Of met andere woorden, er moeten minimaal 2 gebieden worden opgenomen om Intersect te vinden. De rest van de argumenten kan worden geselecteerd als Bereik of het kan enkele andere dingen of parameters bevatten, evenals per behoefte. Deze syntaxis is geschikt voor maximaal 30 argumenten.

Hoe Excel VBA snijfunctie gebruiken?

We zullen leren hoe u een VBA-intersectfunctie kunt gebruiken met enkele voorbeelden in Excel.

U kunt deze VBA Intersect Excel Template hier downloaden - VBA Intersect Excel Template

VBA Intersect - Voorbeeld # 1

In het eerste voorbeeld zullen we het snijpunt markeren en maken wanneer we een dataset hebben. Hiervoor hebben we voorbeeldgegevens met 3 kolommen gevuld met getallen zoals hieronder weergegeven.

Nu moeten we het snijpunt van een bovenstaande gegevenstabel vinden met behulp van VBA Intersect. Volg hiervoor de onderstaande stappen:

Stap 1: Ga naar het VBA-venster en open een module via de menuoptie Invoegen zoals hieronder wordt weergegeven.

We krijgen een leeg venster van de module.

Stap 2: Schrijf nu Subcategorie van VBA Intersect of in een andere naam volgens uw keuze.

Code:

 Sub VBAIntersect1 () End Sub 

Stap 3: Voer nu rechtstreeks de opdracht Snijden in, zoals hieronder wordt weergegeven.

Code:

 Sub VBAIntersect1 () Intersect (End Sub 

Zoals we de gedetailleerde syntaxis van Intersect al hebben uitgelegd, zullen we een kruispunt toevoegen. We kunnen N aantal bereiken kiezen, maar er moeten minimaal twee bereiken zijn.

Laten we hieronder een snijpunt bekijken waar het eerste gebied van A1 tot B8 is, het tweede gebied B3 tot C12 en het derde gebied is A7 tot C10. We kunnen elke combinatie van een patroon van kruispunten overwegen en kiezen.

Laten we nu kijken op welk punt (en) deze gebieden elkaar ontmoeten en elkaar kruisen. Het gemeenschappelijke gebied dat door alle bovengenoemde gebieden wordt gecreëerd, is ons kruispunt.

Stap 4: Selecteer nu in VBA-module van Intersect het eerste gebiedsbereik zoals hieronder getoond.

Code:

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

We hebben het eerste bereik toegevoegd, maar onze syntaxis is nog steeds onvolledig.

Stap 5: Voeg nu de rest van twee gebieden in die we hierboven hebben besproken, gescheiden door komma's.

Code:

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

Stap 6: Geef nu de voorwaarde als "Waar".

Code:

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

Hiermee is onze code voltooid.

Stap 7: compileer nu de code en voer deze uit door op de knop Afspelen te klikken die zich onder de menubalk bevindt, zoals hieronder wordt weergegeven.

We krijgen het gemeenschappelijke gebied of het doorsneden gebied met de waarde WAAR zoals hierboven weergegeven. Hoewel we het kruisende gebied hebben, heeft die WAAR de gegevens vervangen die er in het kruisende gebied waren.

Stap 8: Om te voorkomen dat we dit verliezen, kunnen we de achtergrond van de kleur, die algemene cellen, veranderen in elke gewenste kleur. Gebruik hiervoor na de syntaxis van Intersect de functie Interieur samen met Kleur, zoals hieronder wordt weergegeven.

Code:

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

Stap 9: Nu kunnen we in VBA niet de naam gebruiken van de kleur die we direct willen gebruiken. Hiervoor moeten we " vb " toevoegen die wordt gebruikt om de beschikbare kleuren in VBA te activeren. Gebruik het nu en voeg een naam toe van de kleur van uw keuze. We selecteren hier groen zoals hieronder weergegeven.

Code:

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

Stap 10: compileer nu opnieuw de geschreven code in één keer omdat de code vrij klein is en voer deze uit.

We zullen zien dat de kleur van het doorsneden gebied is veranderd in Groen en gemeenschappelijk gebied dat wordt gecreëerd door het snijpunt van verschillende 3 gebieden in B7 tot B8.

VBA Intersect - Voorbeeld # 2

Er is een andere, maar een heel andere manier om VBA Intersect te gebruiken. Deze keer gebruiken we intersect in een specifiek werkblad. In Sheet2 hebben we een gebied gemarkeerd van B4 tot E8 zoals hieronder getoond.

Volg de onderstaande stappen:

Stap 1: Ga in VBA naar Sheet2 van de huidige werkmap zoals hieronder getoond.

Stap 2: Selecteer nu het werkblad uit deze eerste vervolgkeuzelijst. Hierdoor kan de code alleen in dit huidige blad worden gebruikt.

Stap 3: En selecteer in de tweede vervolgkeuzelijst de optie Wijzigen zoals hieronder weergegeven. Dit wordt gebruikt om de wijzigingen in het geselecteerde bereik te richten.

Stap 4: We schrijven onze code alleen in de eerste Subcategorie.

Code:

 Private Sub Worksheet_Change (ByVal Target As Range) Einde Sub 

Stap 5: We zullen de If-Else-lus gebruiken om een ​​voorwaarde te vormen voor de intersect-functie.

Code:

 Private Sub Worksheet_Change (ByVal-doel als bereik) If End If End Sub 

Stap 6: Selecteer eerst het doelbereik van B4 tot E8 zoals hieronder getoond. Dit richt zich voornamelijk op het snijpunt van het gebied dat valt onder B4 tot en met E8.

Code:

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

Stap 7: En als er niets in het doelgebied is, moeten we een verklaring schrijven waarmee de code vooruit wordt omgeleid.

Code:

 Private Sub Worksheet_Change (ByVal Target As Range) Indien snijpunt (Target, Range ("B4: E8")) Is niets dan End If End Sub 

Stap 8: En als het doelwit echt buiten bereik is, kunnen we een berichtvenster gebruiken met een waarschuwingsbericht, zoals hieronder weergegeven.

Code:

 Private Sub Worksheet_Change (ByVal Target As Range) Indien snijpunt (Target, Range ("B4: E8")) is niets dan MsgBox "Out of Range" End If End Sub 

Stap 9: En in de Else-verklaring waar iets in het vak is geschreven, moeten we een promptbericht krijgen als de geschreven inhoud zich in het vak bevindt, zoals hieronder wordt weergegeven.

Code:

 Private Sub Worksheet_Change (ByVal Target As Range) Indien snijpunt (Target, Range ("B4: E8")) Is niets dan MsgBox "Out of Range" Anders MsgBox "Within Range" End If End Sub 

Stap 10: compileer nu elke stap van de geschreven code en sluit het werkblad van VBA. Omdat we de code specifiek voor het blad hebben geschreven, werkt deze op dezelfde manier.

Stap 11: Schrijf nu iets in de doos.

Zoals we kunnen zien, schreven we 2 in cel C5 in de doos en kregen we het bericht of " Binnen bereik ".

Stap 12: schrijf opnieuw iets uit de doos. We schreven 1 in cel B10 en we kregen de melding "Buiten bereik" zoals hieronder weergegeven.

Dit is een andere manier om Intersect te gebruiken in Excel VBA.

Voordelen van Excel VBA Intersect

  • Het is heel gemakkelijk om op zijn minst het gebied te markeren dat elkaar kruist door het proces van voorbeeld-1.
  • Dit is erg handig wanneer we dat soort gegevens moeten filteren of bewerken die elkaar kruisen vanuit een ander gebied, zoals datums, eigenaar, enz.

Dingen om te onthouden

  • Vergeet niet om het bestand op te slaan in de macro Excel-indeling inschakelen, zodat de code bij elk gebruik functioneert.
  • Door code in Sheet te schrijven in plaats van de module zoals getoond in voorbeeld-2, wordt de code alleen van toepassing op dat sheet. Die code werkt op geen enkel ander blad.
  • Het gebruik van het doelbereik zoals getoond in voorbeeld-2 is handig bij het specificeren van het te raken gebied.

Aanbevolen artikelen

Dit is een handleiding voor VBA Intersect. Hier bespreken we hoe u Excel VBA Intersect-functie kunt gebruiken, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Voorbeelden op VBA Loops
  2. Excel KOLOM naar nummer
  3. VBA doen tot lus
  4. Maak een budget in Excel

Categorie: