Voorkom dat VBA hoofdlettergevoelig is - optie Tekst vergelijken

Als je in VBA werkt, moet je vaak strings vergelijken. Standaard, VBA is hoofdlettergevoelig, dus als u twee dezelfde teksten vergelijkt en een ervan in hoofdletters is en de andere in kleine letters, beschouwt VBA ze als verschillende teksten. In deze zelfstudie ziet u hoe u kunt voorkomen dat VBA hoofdlettergevoelig is.

VBA hoofdletterongevoelig maken

Om VBA hoofdletterongevoelig te maken, moet je Optie Tekst vergelijken aan het begin van de module. Eerst zullen we kijken naar het standaard VBA-gedrag zonder dat deze optie is ingesteld. Dit is de code:

123456789 If Sheet1.Range("A1").Value = Sheet1.Range("B1").Waarde danMsgBox "Twee teksten zijn hetzelfde"AndersMsgBox "Twee teksten zijn verschillend"Stop als

In het voorbeeld willen we de snaren van de A1 en B1 vergelijken. Als de strings gelijk zijn, zullen we het berichtvenster retourneren met het bericht "Twee teksten zijn hetzelfde". Als ze niet gelijk zijn, zullen we het bericht 'Twee teksten zijn verschillend.

Afbeelding 1. De strings vergelijken zonder de optie Tekst vergelijken

Zoals je op de afbeelding kunt zien, zijn beide teksten hetzelfde, maar de eerste is in hoofdletters en de tweede in kleine letters. Daarom beschouwt VBA ze als verschillend en retourneert dit bericht.

1234567891011 Optie Tekst vergelijkenOpenbare Sub CaseSensitiveTest()If Sheet1.Range("A1").Value = Sheet1.Range("B1").Waarde danMsgBox "Twee teksten zijn hetzelfde"AndersMsgBox "Twee teksten zijn verschillend"Stop alsEinde sub

Nu zullen we Option Compare Text toevoegen aan het begin van de module en het verschil zien. Hier is de code. We voeren de code uit op hetzelfde voorbeeld:

Afbeelding 2. De strings vergelijken met de optie Tekst vergelijken

Wanneer nu de optie Tekst vergelijken is ingesteld, wordt de VBA hoofdletterongevoelig en beschouwt deze twee teksten als hetzelfde.

Tekst vergelijken

Als u niet declareert Optie Tekst vergelijken, kunt u tekenreeksen converteren om hoofdletterongevoelige vergelijkingen te maken. Dit is mogelijk door de functie UCase, LCase of StrConv. U kunt hier meer informatie over vinden: VBA boven-, onder- en juiste letters - Functies van de letters

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave