VBA Vertaa kielet - StrComp

VBA: ssa voit verrata kahta merkkijonoa käyttämällä StrComp toiminto. Tässä opetusohjelmassa opit käyttämään tätä toimintoa eri vertailumenetelmillä.

Jos haluat oppia käyttämään VBA: n kaltaista operaattoria vertaamaan epätarkkoja osumia, napsauta tätä: VBA Like Operator.

Jos haluat oppia käyttämään vertailuoperaattoreita, napsauta tätä: VBA -vertailuoperaattorit - ei yhtä ja muuta

StrComp -toiminnon käyttäminen kahden merkkijonon vertaamiseen

The StrComp funktio ottaa argumentteina kaksi merkkijonoa ja vertailumenetelmän. Vertailumenetelmiä on 3:

  • vbBinaryCompare - vertaa kahta binaarijonoa (kirjainkoko erottaa);
  • vbTextCompare - vertaa kahta merkkijonoa tekstinä (kirjainkoolla ei merkitystä);
  • vbDatabaseCompare - tämä menetelmä on käytettävissä vain Microsoft Accessissa, ei VBA: ssa.

Oletuksena toiminto käyttää binäärimenetelmää. Jos jätämme tämän väitteen huomiotta, funktio on kirjainkoko.

Funktio palauttaa seuraavat tulokset:

  • 0 - jos merkkijonot ovat yhtä suuret;
  • -1 - jos merkkijono 1 on pienempi kuin merkkijono 2;
  • 1 - jos merkkijono 1 on suurempi kuin merkkijono 2;
  • Null - jos yksi merkkijonoista on tyhjä.

Tässä on esimerkkikoodi:

123 Dim intResult kokonaislukunaintResult = StrComp ("Tietokone", "Tietokone")

Tässä esimerkissä haluamme tarkistaa, ovatko merkkijonot "Tietokone" ja "Tietokone" ovat yhtä suuret käyttäen oletusvertailumenetelmää (binaarinen). Toiminnon tulos on intResult muuttuja. Kuten kuvasta näkyy, molemmat merkkijonot ovat yhtä suuret, joten intResult on arvo 0.

Kuva 1. StrComp -toiminnon käyttäminen binäärimenetelmän kanssa VBA: ssa

StrComp -toiminnon käyttäminen binääri- ja tekstimenetelmän kanssa

Näet nyt eron binaarisen ja tekstimenetelmän välillä. Binaarimenetelmässä on binääriluku jokaiselle merkille, joten isot ja pienet kirjaimet ovat eri merkkejä tässä menetelmässä. Toisaalta tekstimenetelmä pitää "S" ja "s" samoina kirjaimin. Jos haluat muuttaa funktion kirjainkoon erottumattomana, sinun on asetettava kolmas argumentti arvoon vbBinaryCompare. Tässä on koodi:

123456 Dim intResult1 kokonaislukunaDim intResult2 kokonaislukunaintResult1 = StrComp ("Tietokone", "CompuTer")intResult2 = StrComp ("Tietokone", "CompuTer", vbTextCompare)

Haluamme verrata merkkijonoja "Tietokone" ja "Tietokone", käyttämällä molempia menetelmiä.

Muuttujassa intResult1, saamme arvon binaarimenetelmällä, kun taas intResult2 saa arvon tekstimenetelmällä. Näet näiden kahden muuttujan arvot:

Kuva 2. StrComp -toiminnon käyttäminen binääri- ja tekstimenetelmällä

Arvo intResult1 on 1, mikä tarkoittaa, että kaksi merkkijonoa ovat erilaiset binäärimenetelmässä. Tekstimenetelmässä nämä kaksi merkkijonoa ovat yhtä suuret, joten arvo intResult2 on 0.

wave wave wave wave wave