Vba: hoe de match-functie met datums te gebruiken
U kunt de volgende syntaxis gebruiken om de MATCH-functie te gebruiken om een datum in VBA te vinden:
SubMatchDate ()
'attempt to find date in range
On Error GoTo NoMatch
MyMatch = WorksheetFunction.Match(CLng(CDate(" 4/15/2023 ")), Range(" A2:A10 "), 0)
MsgBox (MyMatch)
End
'if no date found, create message box to tell user
NoMatch:
MsgBox (" No Match Found ")
End
End:
End Sub
In dit specifieke voorbeeld wordt gezocht naar de datum 15-04-2023 in het bereik A2:A10 .
Als de datum wordt gevonden, verschijnt er een berichtvenster waarin de gebruiker wordt verteld welke rij in het bereik de datum bevat.
Als de datum niet wordt gevonden, verschijnt er een berichtvenster met de melding ‚Geen overeenkomsten gevonden‘, zodat de gebruiker weet dat de datum niet binnen het bereik bestaat.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Opmerking : de CDate- functie converteert een tekstreeks naar een datum in VBA.
Voorbeeld: gebruik van de MATCH-functie met datums in VBA
Stel dat we de volgende lijst met datums hebben in het bereik A2:A10 in Excel:
We kunnen de volgende macro maken om het rijnummer te vinden dat de datum 15-04-2023 bevat in het bereik A2:A10 :
SubMatchDate ()
'attempt to find date in range
On Error GoTo NoMatch
MyMatch = WorksheetFunction.Match(CLng(CDate(" 4/15/2023 ")), Range(" A2:A10 "), 0)
MsgBox (MyMatch)
End
'if no date found, create message box to tell user
NoMatch:
MsgBox (" No Match Found ")
End
End:
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Het berichtenvenster vertelt ons dat de datum 15-04-2023 is gevonden in de 7e regel van het bereik A2:A10 .
Houd er rekening mee dat als we in plaats daarvan naar de datum 25-04-2023 zouden zoeken, we het volgende resultaat zouden ontvangen:
Het berichtvenster vertelt ons dat de datum 25-04-2023 niet in het bereik is gevonden.
Let op : De volledige documentatie van de Match- methode in VBA vindt u hier .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: hoe XLOOKUP te gebruiken
VBA: indexmatching gebruiken
VBA: INDEX MATCH gebruiken met meerdere criteria