Zapobiegaj rozróżnianiu wielkości liter w VBA - opcja Porównaj tekst

Podczas pracy w VBA często trzeba porównywać ciągi. Domyślnie, VBA rozróżnia wielkość liter, więc jeśli porównasz dwa takie same teksty i jeden z nich jest pisany wielkimi literami, a drugi małymi, VBA uzna je za różne teksty. W tym samouczku zobaczysz, jak zapobiec rozróżnianiu wielkości liter w VBA.

Unieważnianie wielkości liter w VBA

Aby VBA nie uwzględniała wielkości liter, musisz umieścić Opcja Porównaj tekst na początku modułu. Najpierw przyjrzymy się standardowemu zachowaniu VBA bez ustawionej tej opcji. Oto kod:

123456789 If Sheet1.Range("A1").Value = Sheet1.Range("B1").Value WtedyMsgBox "Dwa teksty są takie same"W przeciwnym razieMsgBox "Dwa teksty są różne"Zakończ, jeśli

W tym przykładzie chcemy porównać ciągi z A1 i B1. Jeśli ciągi są równe, zwrócimy okno wiadomości z komunikatem „Dwa teksty są takie same”. Jeśli nie są równe, zwrócimy komunikat „Dwa teksty są różne.

Obraz 1. Porównanie ciągów znaków bez opcji Porównaj tekst

Jak widać na obrazku, oba teksty są takie same, ale pierwszy jest pisany dużymi literami, a drugi małymi. Z tego powodu VBA uważa je za inne i zwraca tę wiadomość.

1234567891011 Opcja Porównaj tekstPubliczny podrzędny test wrażliwości ()Jeśli Sheet1.Range("A1").Value = Sheet1.Range("B1").Value WtedyMsgBox "Dwa teksty są takie same"W przeciwnym razieMsgBox "Dwa teksty są różne"Zakończ, jeśliNapis końcowy

Teraz dodamy Option Compare Text na początku modułu i zobaczymy różnicę. Oto kod. Kod uruchamiamy na tym samym przykładzie:

Obraz 2. Porównanie ciągów za pomocą opcji Porównaj tekst

Teraz, gdy ustawiona jest opcja Porównaj tekst, VBA staje się niewrażliwy na wielkość liter i uważa te dwa teksty za takie same.

Porównywanie tekstu

Jeśli nie zadeklarujesz Opcja Porównaj tekst, można przekonwertować wielkości liter, aby dokonywać porównań bez uwzględniania wielkości liter. Jest to możliwe dzięki funkcji UCase, LCase lub StrConv. Możesz dowiedzieć się więcej na ten temat tutaj: VBA Upper, Lower i Right Case - Case Functions

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave