Förhindra VBA -skiftlägeskänslig - Alternativ Jämför text

När du arbetar i VBA behöver du ofta jämföra strängar. Som standard, VBA är skiftlägeskänsligt, så om du jämför två samma texter och en av dem är versaler och andra med små bokstäver, kommer VBA att betrakta dem som olika texter. I den här självstudien ser du hur du förhindrar att VBA är skiftlägeskänsligt.

Gör VBA -fall okänsligt

För att göra VBA skiftlägeskänslig måste du sätta Alternativ Jämför text i början av modulen. Först kommer vi att titta på det vanliga VBA -beteendet utan det här alternativet. Detta är koden:

123456789 If Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Value ThenMsgBox "Två texter är desamma"AnnanMsgBox "Två texter är olika"Avsluta om

I exemplet vill vi jämföra strängarna från A1 och B1. Om strängarna är lika kommer vi att returnera meddelandefältet med meddelandet "Två texter är desamma". Om de inte är lika kommer vi att returnera meddelandet ”Två texter är olika.

Bild 1. Jämför strängarna utan alternativet Jämför text

Som du kan se på bilden är båda texterna desamma, men den första är i versaler, medan den andra är med små bokstäver. På grund av det anser VBA dem annorlunda och returnerade detta meddelande.

1234567891011 Alternativ Jämför textPublic Sub CaseSensitiveTest ()If Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Value ThenMsgBox "Två texter är desamma"AnnanMsgBox "Två texter är olika"Avsluta omAvsluta Sub

Nu lägger vi till Option Compare Text i början av modulen och ser skillnaden. Här är koden. Vi kör koden på samma exempel:

Bild 2. Jämför strängarna med alternativet Jämför text

När alternativet Jämför text är inställt blir VBA skiftlägeskänslig och anser att dessa två texter är desamma.

Jämför text

Om du inte deklarerar Alternativ Jämför textkan du konvertera strängfall för att göra skiftlägeskänsliga jämförelser. Detta är möjligt med UCase, LCase eller StrConv -funktionen. Du kan ta reda på mer om detta här: VBA Övre, Nedre och Rätt Fodral - Funktionsfodral

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave