VBA Usporedi žice - StrComp

U VBA možete usporediti dva niza pomoću StrComp funkcija. U ovom ćete vodiču naučiti kako koristiti ovu funkciju s različitim metodama usporedbe.

Ako želite naučiti kako koristiti VBA operater za usporedbu netočnih podudaranja, kliknite ovdje: VBA Like Operator.

Ako želite naučiti kako koristiti operatore za usporedbu, kliknite ovdje: VBA Operatori za usporedbu - nije jednako & više

Upotreba funkcije StrComp za usporedbu dva niza

The StrComp funkcija uzima dva niza i metodu usporedbe kao argumente. Postoje 3 metode usporedbe:

  • vbBinaryCompare - uspoređuje dva binarna niza (osjetljiva na velika i mala slova);
  • vbTextCompare - uspoređuje dva niza kao tekstove (ne razlikuju velika i mala slova);
  • vbDatabaseCompare - ova je metoda dostupna samo u Microsoft Accessu, a ne i u VBA.

Prema zadanim postavkama, funkcija koristi binarnu metodu. Ako izostavimo ovaj argument, funkcija će razlikovati velika i mala slova.

Funkcija vraća sljedeće rezultate:

  • 0 - ako su nizovi jednaki;
  • -1 - ako je niz 1 manji od niza 2;
  • 1 - ako je niz 1 veći od niza 2;
  • Null - ako je jedan od nizova prazan.

Evo primjera koda:

123 Dim intResult Kao cijeli brojintResult = StrComp ("Računalo", "Računalo")

U ovom primjeru želimo provjeriti jesu li stringovi "Računalo" i "Računalo" jednaki su, koristeći zadanu metodu usporedbe (binarna). Rezultat funkcije je u intResult promjenjiva. Kao što možete vidjeti na slici, oba niza su jednaka, stoga je intResult ima vrijednost 0.

Slika 1. Korištenje funkcije StrComp s binarnom metodom u VBA

Korištenje funkcije StrComp s binarnom i tekstualnom metodom

Sada ćete vidjeti razliku između korištenja binarne i tekstualne metode. Binarna metoda ima binarni broj za svaki znak, pa su velika i mala slova različiti znakovi u ovoj metodi. S druge strane, tekstualna metoda razmatra “S” i “s” kao ista slova. Ako želite učiniti funkciju osjetljivom na velika i mala slova, morate postaviti treći argument na vbBinaryCompare. Evo koda:

123456 Dim intResult1 kao cijeli brojDim intResult2 kao cijeli brojintResult1 = StrComp ("Računalo", "CompuTer")intResult2 = StrComp ("Računalo", "CompuTer", vbTextCompare)

Želimo usporediti žice "Računalo" i "Računalo", koristeći obje metode.

U varijabli intResult1, vrijednost ćemo dobiti binarnom metodom, dok je intResult2 dobit će vrijednost tekstualnom metodom. Možete vidjeti vrijednosti ove dvije varijable:

Slika 2. Korištenje funkcije StrComp s binarnom i tekstualnom metodom

Vrijednost intResult1 je 1, što znači da su dva niza različita za binarnu metodu. Za tekstualnu metodu ova su dva niza jednaka, pa je vrijednost intResult2 je 0.

wave wave wave wave wave