VBA StrComp | Võrrelge funktsiooni StrComp abil VBA stringe

Exceli VBA StrComp funktsioon

VBA StrComp on sisseehitatud funktsioon, mida kasutatakse, et võrrelda, kas kaks stringi väärtust on samad või mitte. Tulemused pole vaikimisi tõesed või valed nagu töölehel, pigem on need erinevad.

Enne kui vaatame tulemusi, lubage mul kõigepealt näidata funktsiooni StrComp süntaks.

  • String 1: String 1 on esimene string või väärtus, mida me võrdleme.
  • String 2: String 2 on teine ​​string või väärtus, mida me 1. stringiga võrdleme .
  • Võrdle: siin pakume kolme võimalust.
      • 0 = binaarne võrdlus. See teeb väiketähtede arvutused. Näiteks "Tere" ei võrdu "TERE", sest mõlemad sõnad on erinevad. See on vaikeväärtus, kui ignoreerite seda parameetrit. vbBinaryCompare
      • 1 = teksti võrdlus. Selle suvandiga tehakse arvutused, mis ei ole tõstutundlikud. Näiteks „Tere” võrdub sündmusega „TERE”, kuigi mõlemad sõnad on erinevad. vbTextCompare
      • 2 = Juurdepääs võrdlusele. See teeb andmebaaside võrdluse.

Stringi võrdlemise (StrComp) funktsiooni tulemused

Nagu ma ütlesin, kui võrdleme töölehel kahte väärtust, saame tulemuseks kas TÕENE või VALE. Kuid VBA stringide võrdlusfunktsiooni tulemused pole samad.

  • Saame nulli (0), kui string 1 on stringiga 2 võrdne .
  • Saame ühe (1), kui 1. stringi väärtus on suurem kui stringi 2 väärtus .
  • Saame miinus üks (-1), kui 1. stringi väärtus on väiksem kui 2. string
  • Saame NULL, kui 1. stringi või 2. stringi väärtus on NULL.

Näited funktsiooni VBA StrComp kasutamiseks

Selle VBA StrComp Exceli malli saate alla laadida siit - VBA StrComp Exceli mall

Näide 1

Alustame lihtsast näitest. Näiteks võrdleme kahte väärtust, st "Excel VBA" ja "Excel VBA".

Kood:

 Alam StrComp_Example1 () Dim FirstValue stringina "Stringi 1 väärtuse salvestamiseks Dim SecondValue stringina" String 2 väärtuse salvestamiseks Dim Result As String "StrCompi valemi tulemuse salvestamiseks FirstValue =" Excel VBA "" Määrake stringi 1 väärtus SecondValue = "Excel VBA" "Määrake stringi 2 väärtus Tulemus = StrComp (FirstValue, SecondValue, vbBinaryCompare) 'Rakenda funktsiooni StrComp MsgBox Result' Kuva tulemus sõnumikastis End Sub 

Selle koodi käivitamisel saame tulemuseks nulli (0) , kuna nii stringi 1 kui ka stringi 2 väärtused on samad.

Näide 2

Nüüd muudan kahe sõna tähti.

String 1 = Exceli Vba

String 2 = Exceli VBA

Kood:

 Alam StrComp_Example2 () Dim FirstValue stringina "Stringi salvestamiseks 1 väärtus Dim SecondValue stringina" Stringi 2 väärtuse salvestamiseks Dim Result as String "StrCompi valemi tulemuse salvestamiseks FirstValue =" Excel Vba "" Määrake stringi 1 väärtus SecondValue = "Excel VBA" "Määrake stringi 2 väärtus Tulemus = StrComp (FirstValue, SecondValue, vbBinaryCompare) 'Rakenda funktsiooni StrComp MsgBox Result' Kuva tulemus sõnumikastis End Sub 

Selle koodi käivitamisel saame 1, kuna kuna me esitasime argumenti Võrdle nimega “ vbBinaryCompare” , kontrollib see väiketähti.

Nüüd ma muuta Võrdle valik " vbBinaryCompare" kuni " vbTextCompare"

Kood:

 Alam StrComp_Example3 () Dim FirstValue stringina "Stringi 1 väärtuse salvestamiseks Dim SecondValue stringina" String 2 väärtuse salvestamiseks Dim Result As String "StrCompi valemi tulemuse salvestamiseks FirstValue =" Excel Vba "" Määrake stringi 1 väärtus SecondValue = "Excel VBA" "Määrake stringi 2 väärtus Tulemus = StrComp (FirstValue, SecondValue, vbTextCompare)" Rakenda funktsiooni StrComp MsgBox Result "Kuva tulemus sõnumikastis End Sub 

Selle võrdlusega saame nulli (0), kuna vbaTextCompare ignoreerib suurtäht tundlikke sõnu.

Näide # 3

VBA StrCompi juhtumianalüüs IF tingimustega

Oletame, et teil on andmed nagu alloleval pildil.

Me peame võrrelda String 1 koos String 2 ja saabuvad Tulemus nagu "Täpne", kui mõlemad on sama, teine tulemus peaks olema "Ei Täpne".

Allolev kood teeb selle töö meie eest ära.

Kood:

 Alam StrComp_Example4 () Dim Tulemus stringina Dim I täisarvuna i = 2 kuni 6 tulemus = StrComp (lahtrid (i, 1). Väärtus, lahtrid (i, 2). Väärtus) Kui tulemus = 0, siis lahtrid (i, 3 ) .Value = "Täpsed" muud lahtrid (i, 3). Väärtus = "Pole täpne" lõpp, kui järgmine i lõpp alam 

Kui käivitan ülaltoodud VBA-koodi Excelis, saame allpool toodud tulemuse.

Kui vaatate C4 lahtrit, siis String 1 ja String 2 on samad, kuid tähemärgid on tõstutundlikud, nii et tulemuseks on “Not Exact”. Selle probleemi lahendamiseks peame pakkuma võrdlust kui vbTextCompare.

Allpool on muudetud kood, et saada tulemus C4-lahtri jaoks täpne.

Kood:

 Alam StrComp_Example4 () Dim Tulemus stringina Dim I täisarvuna i = 2 kuni 6 tulemus = StrComp (lahtrid (i, 1). Väärtus, lahtrid (i, 2). Väärtus, vbTextCompare) kui tulemus = 0, siis lahtrid (i , 3) .Value = "Täpsed" muud lahtrid (i, 3). Väärtus = "Pole täpne" Lõpeta, kui järgmine i Lõpp 

See kood tagastab allpool toodud tulemuse.


$config[zx-auto] not found$config[zx-overlay] not found