VBA StrComp Funcție

În activitatea noastră, în mod normal, facem comparații de fiecare dată. Aceste comparații pot fi pe texte cu numere sau pe orice fel de date. Pentru numere, știm deja cum facem o comparație. Există o mulțime de metode matematice pentru a face acest lucru. Dar cum comparăm două șiruri, ce rezultat vom obține. STRCOMP în VBA este o funcție de comparare a șirurilor. Compara două șiruri între ele și ne oferă rezultatul. Cu toate acestea, rezultatul comparației nu este adevărat sau fals. Există trei moduri de a compara două șiruri în funcția STRCOMP. Înainte de a ne afunda în asta, să vedem sintaxa pentru această funcție.

Sintaxa StrComp în Excel VBA

Sintaxa pentru funcția VBA StrComp în excel este următoarea:

Șirul 1 este șirul care va fi comparat cu șirul 2. Metodele de comparație sunt opționale pentru această funcție. Acum să mergem la metodele de comparație din această funcție. Există trei tipuri de metode de comparație în această funcție și sunt următoarele:

  1. VbBinaryCompare: Aceasta este metoda de comparare implicită dacă nu alegem o metodă de comparație pentru funcția noastră. Această metodă de comparație este sensibilă între litere mari și mici, ceea ce înseamnă că șirul 1 și șirul 2 sunt identici, dar șirul 1 este cu litere mici și șirul 2 este în majusculă, ambele nu vor fi similare. Codul binar pentru „a” și „A” sunt diferite. În mod similar pentru alte personaje. Aceste coduri se numesc coduri ASCII.
  2. VbTextCompare: în această metodă de comparație, comparația nu este sensibilă la majuscule, deci dacă șirurile 1 și șirul 2 sunt egale, dar nu în același caz, atunci se vor folosi aceste metode de comparație.
  3. Compararea accesului: această metodă este utilizată în comparațiile bazelor de date.

Acum, când vom folosi această funcție, ce rezultat vom obține? Nu vom obține adevărat sau fals folosind această funcție de comparare. În schimb, putem avea oricare dintre următoarele rezultate:

  1. 0 dacă șirurile sunt egale între ele.
  2. 1 dacă șirurile nu se potrivesc între ele.
  3. -1 dacă primul șir este mai mic decât șirul 2.
  4. NULL dacă nu există nicio valoare atât pentru șirul 1 cât și pentru șirul 2.

Vom parcurge câteva exemple diferite și vom vedea cum se fac aceste comparații cu șiruri în VBA.

Cum se utilizează funcția VBA StrComp în Excel?

Vom învăța cum să utilizăm o funcție VBA StrComp cu exemplu în excel.

Puteți descărca acest șablon VBA StrComp Excel aici - Șablonul VBA StrComp Excel

Exemplul # 1 - VBA StrComp

Să folosim mai întâi metoda de comparație binară pentru exemplul nostru. Vom lua două intrări de șiruri de la utilizator, una minusculă în timp ce cealaltă va fi cu majuscule și le vom compara.

Pasul 1: din fila dezvoltatorului și apoi din Visual Basic pentru a intra în VB Editor.

Pasul 2: Introduceți un modul din fila Inserare pentru a începe să scrieți coduri în VBA.

Pasul 3: Faceți dublu clic pe modul din fila proiectului și declarați o sub-funcție după cum urmează.

Cod:

 Sub eșantion () End Sub 

Pasul 4: Trebuie să definim trei variabile ca șiruri, două vor păstra intrarea noastră în timp ce alta va stoca rezultatul.

Cod:

 Sub eșantion () Dim A, B, C Ca sub capăt de șir 

Pasul 5: În variantele A și B luați input de la utilizator pentru două șiruri după cum urmează.

Cod:

 Sub Eșantion () Dim A, B, C Ca șir A = InputBox ("Introduceți o șir", "În minuscule") B = InputBox ("Introduceți o șir", "În majuscule) 

Pasul 6: Comparați ambele șiruri în variabilele A și B și stocați valoarea în C folosind funcția STRCOMP și folosiți o metodă de comparație ca o comparație binară.

Cod:

 Sub eșantion () Dim A, B, C Ca șir A = InputBox ("Introduceți o șir", "În minuscule") B = InputBox ("Introduceți o șir", "În majuscule") C = StrComp (A, B, vbBinaryCompare) End Sub 

Pasul 7: Afișați ieșirea stocată în Variabila C folosind funcția Msgbox.

Cod:

 Sub eșantion () Dim A, B, C Ca șir A = InputBox ("Introduceți o șir", "În minuscule") B = InputBox ("Introduceți o șir", "În majuscule") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Pasul 8: Acum apăsați F5 pentru a executa codul și furnizați două șiruri de intrare după cum urmează,

Pasul 9: Vedeți rezultatul final după cum urmează.

Obținem 1 ca rezultat, deoarece în comparație binară, ambele șiruri nu sunt egale, deoarece una dintre șiruri este în majusculă, în timp ce alta este mai mică.

Exemplul # 2 - VBA StrComp

Acum să folosim o altă metodă de comparație care este VbTextCompare și să vedem ce rezultate vom obține pentru aceleași intrări pe care le-am oferit mai sus.

Pasul 1: În modul, am introdus anterior, faceți dublu clic pe el din fila proiectului și declaram o sub-funcție pentru a începe să lucreze la al doilea exemplu, după cum urmează.

Cod:

 Sub Eșantion1 () Final Sub 

Pasul 2: Trebuie să definim trei variabile ca șiruri, două vor păstra intrarea noastră în timp ce alta va stoca rezultatul.

Cod:

 Sub eșantion1 () Dim A, B, C Ca sub capăt de șir 

Pasul 3: În variantele A și B luați input de la utilizator pentru două șiruri după cum urmează.

Cod:

 Sub Eșantion1 () Dim A, B, C Ca șir A = InputBox ("Introduceți o șir", "În minuscule") B = InputBox ("Introduceți o șir", "În majuscule) 

Pasul 4: Comparați ambele șiruri în variabilele A și B și păstrați valoarea în C folosind funcția STRCOMP și folosiți metoda de comparație ca comparație de text.

Cod:

 Sub Eșantion1 () Dim A, B, C Ca șir A = InputBox ("Introduceți o șir", "În minuscule") B = InputBox ("Introduceți o șir", "În majuscule") C = StrComp (A, B, vbTextCompare) End Sub 

Pasul 5: Afișați ieșirea stocată în Variabila C folosind funcția Msgbox.

Cod:

 Sub Eșantion1 () Dim A, B, C Ca șir A = InputBox ("Introduceți o șir", "În minuscule") B = InputBox ("Introduceți o șir", "În majuscule") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Pasul 6: Acum apăsați F5 și furnizați două șiruri de intrare după cum urmează.

Pasul 7: Vedeți rezultatul final după cum urmează.

Obținem 0 ca rezultat, deoarece comparația textului nu este sensibilă la litere mari și mici, ceea ce înseamnă că șirurile sunt egale.

Exemplul # 3 - VBA StrComp

Acum am câteva date din fișa 1 după cum urmează, vreau să aflu dacă atât datele din coloana A, cât și coloana B sunt similare între ele. Aruncați o privire la datele de mai jos.

Pasul 1: Să lucrăm în al treilea exemplu pentru datele noastre, după cum urmează.

Cod:

 Sub Eșantion2 () Final Sub 

Pasul 2: Activați foaia de lucru 1 pentru a putea folosi proprietățile sale.

Cod:

 Sub Eșantion2 () Fișe de lucru („Foaie1”) 

Pasul 3: Declarați două variabile una ca un număr întreg care va fi utilizat pentru buclă și una ca un șir care va utiliza pentru a stoca rezultatul comparației.

Cod:

 Sub Eșantion2 () Fișe de lucru ("Foaie1"). Activați Dim A Ca număr întreg B B Ca sub capăt de șir 

Pasul 4: Scrieți următorul cod pentru a compara și utiliza bucla for.

Cod:

 Sub Eșantion2 () Fișe de lucru ("Foaie1"). Activați Dim A Ca număr întreg B B Ca șir pentru A = 2 până la 5 B = StrComp (celule (A, 1). Valor, celule (A, 2). Valor, vbBinaryCompare) Dacă B = 0 Atunci, celule (A, 3). Valor = "Egal" Celule de altă natură (A, 3). Valor = "NU este egal" În sfârșit Dacă Următorul A Final 

Pasul 5: Rulați codul de mai sus și vedeți rezultatul în fișa 1 după cum urmează.

Niciuna dintre șiruri nu a fost egală în comparație.

Lucruri de amintit

  • Aceasta este o funcție de comparație.
  • Se returnează 0, 1, -1 sau NULL ca rezultat nu este adevărat sau fals.
  • Dacă nu furnizăm niciuna dintre metodele de comparație, în mod implicit, metoda de comparație este VbBinaryCompare.
  • Metoda de comparație este un argument opțional pentru această funcție.

Articole recomandate

Acesta este un ghid pentru VBA StrComp. Aici vom discuta despre cum să utilizăm funcția Excel VBA StrComp împreună cu exemple practice și șablon excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. VBA InStr a explicat cu exemple
  2. VBA Integer Data Type
  3. Cum să selectați celula folosind codul VBA?
  4. Transpuneți un interval în VBA
  5. Fișe de lucru VBA (exemple)

Categorie: