Hoe tekenreeksen in vba te vergelijken: met voorbeelden
U kunt in VBA de volgende methoden gebruiken om tekenreeksen te vergelijken:
Methode 1: Hoofdlettergevoelige tekenreeksen vergelijken
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
Next i
End Sub
Deze macro voert een hoofdlettergevoelige tekenreeksvergelijking uit tussen tekenreeksen in overeenkomende cellen in de bereiken A2:A10 en B2:B10 en retourneert WAAR of ONWAAR in het bereik C2:C10 om aan te geven of de tekenreeksen gelijk zijn of niet.
Methode 2: Hoofdletterongevoelige tekenreeksvergelijking
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
Next i
End Sub
Deze macro voert een niet-hoofdlettergevoelige tekenreeksvergelijking uit tussen tekenreeksen in overeenkomende cellen in de bereiken A2:A10 en B2:B10 .
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende lijsten met tekenreeksen in Excel:
Voorbeeld 1: Hoofdlettergevoelige tekenreeksen vergelijken in VBA
We kunnen de volgende macro maken om een hoofdlettergevoelige tekenreeksvergelijking uit te voeren tussen elke overeenkomende tekenreeks in kolommen A en B:
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
Next i
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Kolom C retourneert WAAR als de tekenreeksen gelijk zijn en dezelfde hoofdletters en kleine letters hebben.
Anders retourneert kolom C FALSE .
Voorbeeld 2: Hoofdletterongevoelige tekenreeksen vergelijken in VBA
We kunnen de volgende macro maken om een niet-hoofdlettergevoelige tekenreeksvergelijking uit te voeren tussen elke overeenkomende tekenreeks in kolommen A en B:
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
Next i
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Kolom C retourneert WAAR als de tekenreeksen gelijk zijn, ongeacht de hoofdletters en kleine letters.
Kolom C retourneert alleen FALSE als de tekenreeksen niet gelijk zijn.
Opmerking : u kunt hier de volledige documentatie van de StrComp- functie in VBA vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: tekens in een string vervangen
VBA: speciale tekens uit een string verwijderen
VBA: Hoe een string naar int te converteren