Neleisti VBA didžiosios ir mažosios raidės - parinktis Palyginti tekstą

Dirbant VBA, dažnai reikia palyginti stygas. Pagal numatytuosius nustatymus VBA skiria didžiąsias ir mažąsias raides, taigi, jei palyginsite du tuos pačius tekstus ir vienas iš jų yra didžiosiomis, o kitas - mažosiomis, VBA juos laikys skirtingais tekstais. Šioje pamokoje pamatysite, kaip išvengti to, kad VBA neskirtų didžiųjų ir mažųjų raidžių.

Padaryti VBA didžiųjų ir mažųjų raidžių nejautrias

Norėdami, kad VBA būtų nejautrus didžiosioms ir mažosioms raidėms, turite įdėti Parinktis Lyginti tekstą modulio pradžioje. Pirma, mes pažvelgsime į standartinį VBA elgesį be šios parinkties. Tai yra kodas:

123456789 Jei Sheet1.Range ("A1"). Reikšmė = Sheet1.Range ("B1"). Vertė tada„MsgBox“ „Du tekstai yra vienodi“Kitas„MsgBox“ „Du tekstai yra skirtingi“Pabaiga Jei

Pavyzdyje norime palyginti eilutes iš A1 ir B1. Jei eilutės yra lygios, grąžinsime pranešimų laukelį su pranešimu „Du tekstai yra vienodi“. Jei jie nėra lygūs, grąžinsime pranešimą „Du tekstai yra skirtingi.

Vaizdas 1. Lyginant eilutes be parinkties Palyginti tekstą

Kaip matote paveikslėlyje, abu tekstai yra vienodi, tačiau pirmasis yra didžiosiomis raidėmis, o antrasis - mažosiomis. Dėl to VBA laiko juos skirtingais ir grąžino šią žinutę.

1234567891011 Parinktis Lyginti tekstąViešosios mažosios raidėsSensitiveTest ()Jei Sheet1.Range ("A1"). Reikšmė = Sheet1.Range ("B1"). Vertė tada„MsgBox“ „Du tekstai yra vienodi“Kitas„MsgBox“ „Du tekstai yra skirtingi“Pabaiga JeiPabaiga Sub

Dabar modulio pradžioje pridėsime parinktį Palyginti tekstą ir pamatysime skirtumą. Čia yra kodas. Mes vykdome kodą pagal tą patį pavyzdį:

2 paveikslas. Lyginant eilutes su parinktimi Palyginti tekstą

Dabar, kai nustatytas parinkčių palyginimo tekstas, VBA tampa nejautrus didžiosioms ir mažosioms raidėms ir laiko šiuos du tekstus vienodais.

Teksto palyginimas

Jei nedeklaruosite Parinktis Lyginti tekstą, galite konvertuoti eilutes, kad būtų galima palyginti didžiųjų ir mažųjų raidžių. Tai galima padaryti naudojant UCase, LCase arba StrConv funkciją. Daugiau apie tai galite sužinoti čia: VBA viršutinės, apatinės ir tinkamos dėklų funkcijos

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave