VBA palyginimo stygos - StrComp

VBA galite palyginti dvi eilutes naudodami „StrComp“ funkcija. Šioje pamokoje sužinosite, kaip naudotis šia funkcija naudojant skirtingus palyginimo metodus.

Jei norite sužinoti, kaip naudoti VBA panašų operatorių, kad galėtumėte palyginti netikslias atitiktis, spustelėkite čia: VBA patinka operatorius.

Jei norite sužinoti, kaip naudoti palyginimo operatorius, spustelėkite čia: VBA palyginimo operatoriai - nelygu ir daugiau

„StrComp“ funkcijos naudojimas dviem eilutėms palyginti

The „StrComp“ Funkcija kaip dvi eilutes ir palyginimo metodą laiko argumentais. Yra 3 palyginimo metodai:

  • vbBinaryCompare - lygina dvejetaines eilutes (didžiosios ir mažosios raidės);
  • vbTextCompare - lygina dvi eilutes kaip tekstus (neskiriamos didžiosios ir mažosios raidės);
  • vbDatabaseCompare - šis metodas galimas tik „Microsoft Access“, o ne VBA.

Pagal numatytuosius nustatymus funkcija naudoja dvejetainį metodą. Jei praleisime šį argumentą, funkcija skirs mažąsias ir mažąsias raides.

Funkcija grąžina šiuos rezultatus:

  • 0 - jei eilutės lygios;
  • -1 - jei eilutė 1 yra mažesnė už eilutę 2;
  • 1 - jei eilutė 1 yra didesnė už eilutę 2;
  • Null - jei viena iš eilučių tuščia.

Štai pavyzdinis kodas:

123 Dim intResult As IntegerintResult = StrComp („Kompiuteris“, „Kompiuteris“)

Šiame pavyzdyje norime patikrinti, ar eilutės "Kompiuteris" ir "Kompiuteris" yra lygūs, naudojant numatytąjį palyginimo metodą (dvejetainį). Funkcijos rezultatas yra intResult kintamasis. Kaip matote paveikslėlyje, abi eilutės yra lygios, todėl intResult turi 0 reikšmę.

Vaizdas 1. „StrComp“ funkcijos naudojimas naudojant dvejetainį metodą VBA

„StrComp“ funkcijos naudojimas su dvejetainiu ir tekstiniu metodu

Dabar pamatysite skirtumą tarp dvejetainio ir tekstinio metodo naudojimo. Dvejetainis metodas turi dvejetainį skaičių kiekvienam simboliui, todėl didžiosios ir mažosios raidės yra skirtingi šio metodo simboliai. Kita vertus, tekstinis metodas „S“ ir „s“ laiko tomis pačiomis raidėmis. Jei norite, kad funkcija neskirtų didžiųjų ir mažųjų raidžių, trečiąjį argumentą turite nustatyti į vbBinaryCompare. Čia yra kodas:

123456 Dim intResult1 kaip sveikasis skaičiusDim intResult2 kaip sveikasis skaičiusintResult1 = StrComp ("Kompiuteris", "CompuTer")intResult2 = StrComp ("Kompiuteris", "CompuTer", vbTextCompare)

Norime palyginti stygas "Kompiuteris" ir "Kompiuteris", naudojant abu metodus.

Kintamajame intResult1, mes gausime vertę dvejetainiu metodu, o intResult2 gaus vertę naudodami tekstinį metodą. Galite pamatyti šių dviejų kintamųjų reikšmes:

Vaizdas 2. StrComp funkcijos naudojimas dvejetainiu ir tekstiniu metodu

Vertė intResult1 yra 1, o tai reiškia, kad dvejetainiam metodui skirtingos dvi eilutės. Taikant tekstinį metodą, šios dvi eilutės yra lygios, todėl reikšmė intResult2 yra 0.

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

wave wave wave wave wave