VBA StrComp -toiminto
Työssämme teemme yleensä vertailuja joka kerta. Nämä vertailut voivat olla numerotekstejä tai kaikenlaisia tietoja. Numeroiden osalta tiedämme jo, kuinka teemme vertailun. On paljon matemaattisia menetelmiä tehdä niin. Mutta kuinka verrataan kahta merkkijonoa, minkä tuloksen saamme. VBA: n STRCOMP on merkkijonojen vertailutoiminto. Se vertaa kahta kielet toisiinsa ja antaa meille tuloksen. Vertailun tulos ei kuitenkaan ole totta tai vääriä. STRCOMP-toiminnossa on kaksi tapaa verrata kahta merkkijonoa. Ennen kuin sukellamme siihen, katsokaamme tämän funktion syntaksi.
StrCompin syntaksi Excel VBA: ssa
VBA StrComp -toiminnon syntaksi excelissa on seuraava:
Merkkijono 1 on merkkijono, jota verrataan merkkijonoon 2. Vertailumenetelmät ovat valinnaisia tälle toiminnolle. Nyt siirrytään tämän funktion vertailumenetelmiin. Tässä toiminnossa on kolmen tyyppisiä vertailumenetelmiä ja ne ovat seuraavat:
- VbBinaryCompare: Tämä on oletuksena vertailumenetelmä, jos emme valitse vertailumenetelmää toiminnollemme. Tämä vertailumenetelmä on kirjainkoollainen, mikä tarkoittaa, että merkkijono 1 ja merkkijono 2 ovat samat, mutta merkkijono 1 on pienillä kirjaimilla ja merkkijono 2 on iso kirjain, molemmat eivät ole samanlaisia. Binaarikoodit ”a” ja “A” ovat erilaisia. Samoin muiden hahmojen kanssa. Näitä koodeja kutsutaan ASCII-koodeiksi.
- VbTextCompare: Tässä vertailumenetelmässä vertailu ei ole kirjainkoolla herkkä, joten jos merkkijono 1 ja merkkijono 2 ovat samat, mutta eivät samassa tapauksessa, käytetään tätä vertailumenetelmää.
- Pääsyvertailu: Tätä menetelmää käytetään tietokantojen vertailuihin.
Nyt kun käytämme tätä toimintoa, minkä tuloksen saamme? Emme saa totuutta tai väärää käyttämällä tätä vertailutoimintoa. Sen sijaan meillä voi olla jokin seuraavista tuloksista:
- 0, jos merkkijonot ovat yhtä suuret keskenään.
- 1, jos merkkijonot eivät vastaa toisiaan.
- -1, jos ensimmäinen merkkijono on pienempi kuin merkkijono 2.
- NULL, jos molemmille merkkijonoille 1 ja 2 ei ole arvoa.
Käymme läpi joitain erilaisia esimerkkejä ja näemme, kuinka nämä merkkijonovertailut tehdään VBA: ssa.
Kuinka käyttää VBA StrComp-toimintoa Excelissä?
Opimme käyttämään VBA StrComp -toimintoa esimerkkinä excel-tiedoista.
Voit ladata tämän VBA StrComp Excel -mallin täältä - VBA StrComp Excel TemplateEsimerkki 1 - VBA StrComp
Käytämme ensin binaarista vertailumenetelmää esimerkissämme. Otamme käyttäjältä kaksi merkkijonon sisääntuloa, yhden pienillä, kun taas toiset ovat isoja ja vertaa niitä.
Vaihe 1: Kehittäjän välilehdeltä ja sitten Visual Basicistä päästäksesi VB Editoriin.
Vaihe 2: Aseta moduuli lisäysvälilehdestä aloittaaksesi koodien kirjoittamisen VBA: ssa.
Vaihe 3: Kaksoisnapsauta moduulia projekti-välilehdeltä ja ilmoita alatoiminto seuraavasti.
Koodi:
Alinäyte () Loppu alaosaan
Vaihe 4: Meidän on määritettävä kolme muuttujaa merkkijonoina, kaksi pitävät syöttöämme, kun taas toinen tallentaa tuloksen.
Koodi:
Alinäyte () himmentää A, B, C merkkijonon lopuna
Vaihe 5: Otetaan muuttujissa A ja B käyttäjän syöttämät kaksi merkkijonoa seuraavasti.
Koodi:
Alinäyte () Dim A, B, C Kuten merkkijono A = InputBox ("Syötä merkkijono", "Pienillä kirjaimilla") B = InputBox ("Syötä merkkijono", "Suurilla kirjaimilla") End Sub
Vaihe 6: Vertaa muuttujan A ja B molempia merkkijonoja ja tallenna arvo C: hen käyttämällä STRCOMP-toimintoa ja käytä vertailumenetelmää binaarisena vertailuna.
Koodi:
Alinäyte () Dim A, B, C Kuten merkkijono A = InputBox ("Syötä merkkijono", "Pieninä") B = InputBox ("Syötä merkkijono", "Isoina") C = StrComp (A, B, vbBinaryCompare) End Sub
Vaihe 7: Näytä muuttujaan C tallennettu lähtö Msgbox-toiminnolla.
Koodi:
Alinäyte () Dim A, B, C Kuten merkkijono A = InputBox ("Syötä merkkijono", "Pieninä") B = InputBox ("Syötä merkkijono", "Isoina") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub
Vaihe 8: Nyt paina F5 suorittaaksesi koodi ja antaa kaksi syöttöjonoa seuraavasti:
Vaihe 9: Katso lopullinen tulos seuraavasti.
Saamme 1 tuloksena, koska binaarisessa vertailussa molemmat merkkijonot eivät ole yhtä suuret, koska yksi merkkijono on isolla kirjaimella, kun taas toinen on pienillä kirjaimilla.
Esimerkki 2 - VBA StrComp
Käytämme nyt toista vertailumenetelmää, joka on VbTextCompare, ja katso, mitä tuloksia saamme samoille syötteille, jotka olemme yllä.
Vaihe 1: Lisäsimme moduuliin aiemmin, kaksoisnapsauta sitä projekti-välilehdessä ja ilmoita alatoiminto aloittaaksesi toisen esimerkin työskentelyn seuraavasti.
Koodi:
Alinäyte1 () Loppu alaosa
Vaihe 2: Meidän on määritettävä kolme muuttujaa merkkijonoina, kaksi pitävät syöttöämme, kun taas toinen tallentaa tuloksen.
Koodi:
Alinäyte1 () himmentää A, B, C merkkijonon lopuna
Vaihe 3: Otetaan muuttujissa A ja B käyttäjän syöttämät kaksi merkkijonoa seuraavasti.
Koodi:
Alinäyte1 () Himmennetään A, B, C merkkijonona A = InputBox ("Syötä merkkijono", "Pieninä") B = InputBox ("Syötä merkkijono", "Isoina kirjaimina") End Sub
Vaihe 4: Vertaa muuttujan A ja B molempia merkkijonoja ja tallenna arvo C: hen käyttämällä STRCOMP-toimintoa ja käytä vertailumenetelmää tekstin vertailuna.
Koodi:
Alinäyte1 () Dim A, B, C merkkijonona A = InputBox ("Syötä merkkijono", "Pienillä kirjaimilla") B = InputBox ("Syötä merkkijono", "Suurilla kirjaimilla") C = StrComp (A, B, vbTextCompare) End Sub
Vaihe 5: Näytä muuttujaan C tallennettu lähtö Msgbox-toiminnolla.
Koodi:
Alinäyte1 () Dim A, B, C merkkijonona A = InputBox ("Syötä merkkijono", "Pienillä kirjaimilla") B = InputBox ("Syötä merkkijono", "Suurilla kirjaimilla") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub
Vaihe 6: Paina nyt F5 ja anna kaksi syöttöjonoa seuraavasti.
Vaihe 7: Katso lopullinen tulos seuraavasti.
Tuloksena on 0, koska tekstin vertailu ei ole kirjainkoolla, mikä tarkoittaa, että merkkijonot ovat yhtä suuret.
Esimerkki 3 - VBA StrComp
Nyt minulla on taulukossa 1 joitain seuraavia tietoja, haluan selvittää, ovatko sarakkeen A ja sarakkeen B tiedot samanlaisia toisiinsa vai eivät. Katso alla olevat tiedot.
Vaihe 1: Työskentelemme kolmannessa esimerkissä tietojemme kanssa seuraavasti.
Koodi:
Alinäyte2 () Loppu alaosaan
Vaihe 2: Aktivoi laskentataulukko 1, jotta voimme käyttää sen ominaisuuksia.
Koodi:
Alinäyte2 () -laskentataulukot ("Arkki1"). Aktivoi alaosa
Vaihe 3: Ilmoita kaksi muuttujaa yksi kokonaislukuna, jota käytetään silmukkaan, ja toinen merkkijonona, jota käytetään vertailutuloksen tallentamiseen.
Koodi:
Alinäyte2 () laskentataulukot ("Arkki1"). Aktivoi himmennin A kokonaislukuna himmennys B merkkijonon loppuna
Vaihe 4: Kirjoita seuraava koodi vertaillaksesi ja käyttääksesi for-silmukkaa.
Koodi:
Alinäyte2 () laskentataulukot ("Arkki1"). Aktivoi Dim A kokonaislukuna Dim B merkkijonona A = 2 - 5 B = StrComp (Solut (A, 1) .Varta, Solut (A, 2) .Value, vbBinaryCompare) Jos B = 0, sitten solut (A, 3) .Value = "Equal" Muut solut (A, 3) .Value = "NOT Equal" End Jos seuraava A End Sub
Vaihe 5: Suorita yllä oleva koodi ja katso tulos taulukossa 1 seuraavasti.
Mikään merkkijonoista ei ollut tasavertainen vertailussa.
Muistettavat asiat
- Tämä on vertailutoiminto.
- Se palauttaa arvon 0, 1, -1 tai NULL, mikä ei ole totta tai vääriä.
- Jos emme tarjoa mitään vertailumenetelmistä, vertailumenetelmä on oletuksena VbBinaryCompare.
- Vertailumenetelmä on valinnainen argumentti tälle toiminnolle.
Suositellut artikkelit
Tämä on VBA StrCompin opas. Tässä keskustellaan siitä, kuinka käyttää Excel VBA StrComp -toimintoa yhdessä käytännön esimerkkien ja ladattavien Excel-mallien kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -
- VBA InStr selitti esimerkeillä
- VBA-kokonaisluvutietotyyppi
- Kuinka valita solu VBA-koodilla?
- Siirrä alue VBA: han
- VBA-taulukot (esimerkit)