Inhoudsopgave
Tijdens het werken met Microsoft Excel Soms moeten we de overeenkomstige waarde in een bereik vinden. We kunnen dit gemakkelijk doen met Excel-functies. Er zijn functies in VBA die we kunnen gebruiken, maar geen van hen is gelijk aan MATCH In dit artikel leren we hoe we een waarde in een bereik kunnen matchen met Excel VBA .
Download Praktijk Werkboek
Je kunt het werkboek downloaden en ermee oefenen.
VBA Waarde in bereik matchen.xlsmInleiding tot Excel VBA Match Functie
De Match functie in Excel VBA is een handig geconstrueerde opzoekfunctie die, net als VLOOKUP , HLOOKUP en de INDEX functies, geeft de plaats van identieke of vergelijkbare overeenkomsten van de in arrays of een database verkregen opzoekwaarden terug. Omdat het een werkbladfunctie is, zijn de parameters voor de functie Match vergelijkbaar met die voor de werkbladfunctie.
3 Voorbeelden van Excel VBA om waarde in bereik te matchen
1. Waarde in bereik matchen met VBA Match Functie in Excel
Te gebruiken de Excel VBA Match functie Om de overeenkomende waarde in een bereik te vinden, gaan we de volgende dataset gebruiken. De dataset heeft een aantal namen van studenten in de kolom C hun cijfers voor een specifiek onderwerp in de kolom D en het volgnummer van elke leerling in kolom B Stel nu dat we de matchpositie in cel G5 van een specifiek merkteken, en het merkteken waarmee we willen overeenkomen staat in cel F5 .
Laten we de procedure demonstreren voor het vinden van overeenkomende waarden in een bereik met behulp van de excel VBA Match functie .
STAPPEN:
- Ga eerst naar de Ontwikkelaar tabblad van het lint.
- Ten tweede, klik op Visual Basic om de Visual Basic-editor , waar we de code schrijven. Of, druk op Alt + 11 om de Visual Basic-editor .
- Een andere manier om Visual Basic-editor is gewoon om klik met de rechtermuisknop op op het werkblad en klik op Code bekijken .
- Dit opent de Visual Basic-editor Nu, schrijf de code daar.
VBA-code:
Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub
- Daarna, om de code uit te voeren, drukt u op de knop F5 toets op uw toetsenbord of klik op de Rub Sub knop.
- Tenslotte ziet u dat de overeenkomst is gevonden in positie 5 .
🔎 Hoe werkt de VBA-code?
Sub voorbeeld1_match()
: Dit betekent dat we een subprocedure definiëren door de macronaam te geven.Range("G5").Value
: Wij willen dat de output wordt opgeslagen in cel G5 .WerkbladFunctie
: Met deze code krijgen we toegang tot de VBA-functies.
Match(Range("F5").Value, Range("D5:D10"), 0)
: Hier gebruiken we de functie Match in VBA. Omdat we de waarde van cel F5 en zoek de positie in het bereik D5:D10 .Einde Sub
: Dit betekent dat we de procedure beëindigen.
Lees meer: Excel VBA om string in kolom te matchen (5 voorbeelden)
2. Excel VBA gebruiken om een waarde uit een ander werkblad te matchen
We kunnen overeenkomstige waarden vinden in het bereik van een ander werkblad, met behulp van de VBA Match-functie in Excel Stel dat we een dataset hebben in een blad met de naam " Gegevens " en we willen het resultaat in de bladnaam " Resultaat "En we gebruiken dezelfde dataset. Laten we nu de stappen volgen om dit te doen.
STAPPEN:
- Ga in het begin, op dezelfde wijze als in het eerdere voorbeeld, naar het Ontwikkelaar tabblad op het lint.
- Klik vervolgens op Visual Basic of druk op Alt + F11 om de Visual Basic-editor .
- Om in plaats daarvan de Visual Basic-editor klikt u met de rechtermuisknop op het blad en selecteert u Code bekijken .
- Schrijf nu de VBA-code op.
VBA-code:
Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub
- Voer vervolgens de code uit door op de F5 toets of door te klikken op de Run Sub knop.
- En het resultaat staat in de " Resultaat "blad.
Lees meer: Hoe in Excel gegevens uit 2 werkbladen overeenstemmen
Vergelijkbare lezingen
- Alle overeenkomsten optellen met VLOOKUP in Excel (3 eenvoudige manieren)
- Hoe Case Sensitive Match te vinden in Excel (6 formules)
- Namen matchen in Excel wanneer de spelling verschilt (8 methoden)
3. Excel VBA-lussen om overeenkomende waarde in bereik te krijgen
Stel dat we willen dat meerdere markeringen overeenkomen met de waarde, dan gebruiken we daarvoor de VBA-lussen. We gebruiken dezelfde dataset als voorheen. Nu willen we de matchpositie in kolom G en de merken waarvan we de overeenkomst willen vinden staan in kolom F Laten we de trappen naar beneden bekijken.
STAPPEN:
- Ga eerst vanuit het lint naar de Ontwikkelaar tab.
- Ten tweede, om de Visual Basic-editor klik dan op Visual Basic of druk op Alt + F11 .
- Of klik met de rechtermuisknop op het blad en selecteer Code bekijken .
- Dit opent de Visual Basic-editor .
- Nu, typ daar de code in.
VBA-code:
Sub example3_match() Dim i As Integer Voor i = 5 tot 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub
- Daarna moet u op de F5 toets of door te klikken op de Run Sub knop zal de code uitvoeren.
- En u kunt het resultaat zien in kolom G .
🔎 Hoe werkt de VBA-code?
Voor i = 5 tot 8
: Dit betekent dat we willen dat de lus begint met rij 5 en eindigend met rij 8 .Cells(i, 7).Value
: Dit bewaart de waarde van de resulterende locaties in elke rij van 5 naar 8 rijen in kolom G dat is kolomnummer 7 .Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: Cellen kunnen worden gematcht met de Wedstrijd functie (i, 6). Waarden zoeken voor elke Lookup waarde gevonden in rijen 5 via 8 van de 6e kolom. Dan gezocht in array D5:D10 op een excelblad waar gegevens beschikbaar zijn.
Lees meer: Excel zoeken naar overeenkomende waarden in twee kolommen
Dingen om in gedachten te houden
- Als het overeenkomsttype ontbreekt of niet is gespecificeerd, wordt aangenomen dat het 1 .
- Als er geen overeenkomst wordt ontdekt, is een gerelateerd excel-veld leeg.
- De opzoekwaarde kan een numeriek, karakteristiek of logisch gegeven zijn, of een celverwijzing naar een hoeveelheid, tekst of logische betekenis.
Conclusie
De bovenstaande methoden zullen u helpen om waarden in een bereik in Excel VBA te matchen. Hopelijk helpt dit u! Als u vragen, suggesties of feedback hebt, laat het ons dan weten in de commentaarsectie. Of u kunt een blik werpen op onze andere artikelen in de ExcelWIKI.com blog!