Pri práci vo VBA často potrebujete porovnať reťazce. Predvolene, VBA rozlišuje veľké a malé písmena, takže ak porovnáte dva rovnaké texty a jeden z nich je s veľkými písmenami a druhý s malými písmenami, VBA ich bude považovať za rôzne texty. V tomto tutoriále uvidíte, ako zabrániť tomu, aby VBA rozlišoval veľké a malé písmena.
Nerozlišuje malé a veľké písmená VBA
Aby sa VBA nerozlišovala medzi malými a veľkými písmenami, musíte uviesť Možnosť Porovnať text na začiatku modulu. Najprv sa pozrieme na štandardné správanie VBA bez tejto sady možností. Toto je kód:
123456789 | Ak Sheet1.Range ("A1"). Hodnota = Sheet1.Range ("B1"). Hodnota PotomMsgBox „Dva texty sú rovnaké“InakMsgBox „Dva texty sú rôzne“Koniec Ak |
V príklade chceme porovnať reťazce z A1 a B1. Ak sú reťazce rovnaké, vrátime okno so správou so správou „Dva texty sú rovnaké“. Ak si nie sú rovné, vrátime správu „Dva texty sú odlišné.
Obrázok 1. Porovnanie reťazcov bez textu na porovnanie možností
Ako vidíte na obrázku, oba texty sú rovnaké, ale prvý je napísaný veľkými písmenami a druhý malými písmenami. Z tohto dôvodu ich VBA považuje za odlišných a túto správu vrátil.
1234567891011 | Možnosť Porovnať textPublic Sub CaseSensitiveTest ()Ak Sheet1.Range ("A1"). Hodnota = Sheet1.Range ("B1"). Hodnota PotomMsgBox „Dva texty sú rovnaké“InakMsgBox „Dva texty sú rôzne“Koniec AkKoniec pod |
Teraz pridáme text na porovnanie možností na začiatok modulu a uvidíme rozdiel. Tu je kód. Kód spustíme na rovnakom príklade:
Obrázok 2. Porovnanie reťazcov s textom na porovnanie možností
Teraz, keď je nastavený text na porovnanie možností, VBA nerozlišuje malé a veľké písmená a považuje tieto dva texty za rovnaké.
Porovnanie textu
Ak nevyhlásite Možnosť Porovnať text, môžete previesť prípady s reťazcom, aby bolo možné porovnávať malé a veľké písmená. To je možné pomocou funkcie UCase, LCase alebo StrConv. Viac informácií o tomto nájdete tu: Funkcie VBA pre horný, dolný a správny prípad - pre prípad