VBA funkcija StrComp
Pri svojem delu običajno vsakič primerjamo primerjave. Te primerjave so lahko v besedilih številk ali kakršnih koli podatkov. Za številke že vemo, kako narediti primerjavo. Obstaja veliko matematičnih metod za to. Kako pa primerjamo dva niza, kakšen rezultat bomo dobili. STRCOMP v VBA je funkcija za primerjavo niza. Primerja dve struni med seboj in daje rezultat. Vendar rezultat primerjave ni resničen ali napačen. Obstajajo trije načini za primerjavo dveh nizov v funkciji STRCOMP. Preden se poglobimo v to, si oglejmo skladnjo te funkcije.
Sintaksa StrComp v Excelu VBA
Sintaksa funkcije VBA StrComp v excelu je naslednja:
Vrstica 1 je niz, ki ga bomo primerjali z nizom 2. Metode primerjave za to funkcijo niso obvezne. Zdaj pa pojdimo na metode primerjave v tej funkciji. V tej funkciji obstajajo tri vrste primerjalnih metod in so naslednje:
- VbBinaryCompare: To je privzeta metoda primerjave, če za svojo funkcijo ne izberemo metode primerjave. Ta metoda primerjave je velika in mala, kar pomeni, da sta niz 1 in niz 2 enaka, vendar sta niz 1 v malem, niz 2 pa v velikem in oba ne bosta podobna. Binarna koda za "a" in "A" sta različna. Podobno je z drugimi liki. Te kode se imenujejo ASCII kode.
- VbTextCompare: Pri tej metodi za primerjavo primerjava ni velika in majhna, zato če sta niz 1 in niz 2 enaka, vendar nista v istem primeru, potem bomo uporabili te metode primerjave.
- Primerjava dostopa: Ta metoda se uporablja v primerjavah baze podatkov.
Ko bomo uporabili to funkcijo, kakšen rezultat bomo dobili? S to funkcijo primerjave ne bomo dobili pravega ali napačnega. Namesto tega lahko dobimo katerega koli od naslednjih rezultatov:
- 0, če so strune enake med seboj.
- 1, če se strune ne ujemajo med seboj.
- -1, če je prvi niz manjši od niza 2.
- NULL, če ni vrednosti niti za niz 1 in niz 2.
Bomo skozi nekaj različnih primerov in videli, kako se te strukturne primerjave izvajajo v VBA.
Kako uporabljati funkcijo VBA StrComp v Excelu?
Naučili se bomo uporabljati funkcijo VBA StrComp s primerom v excelu.
Predlogo VBA StrComp Excel lahko prenesete tukaj - VBA Predloga StrComp ExcelPrimer # 1 - VBA StrComp
Za svoj primer najprej uporabimo metodo Binarne primerjave. Od uporabnika bomo vzeli dva niza vnosov, enega v malem, medtem ko bo drugi v velikem in primerjamo.
1. korak: Na zavihku razvijalca in nato iz Visual Basic vstopite v urejevalnik VB.
2. korak: Na zavihek vstavite modul, da začnete pisati kode v VBA.
3. korak: Dvokliknite modul na zavihku projekta in prijavite podfunkcijo na naslednji način.
Koda:
Pod vzorec () Konec pod
4. korak: Tri spremenljivke moramo definirati kot strune, dve pa bosta zadržali naš vnos, druga pa bo shranila rezultat.
Koda:
Pod vzorec () Dim A, B, C kot niz konca End Sub
5. korak: V spremenljivki A in B sprejmite uporabnik za dva niza, kot sledi.
Koda:
Pod vzorec () Dim A, B, C kot niz A = InputBox ("Vnesite niz", "Z malimi črkami") B = InputBox ("Vnesite niz", "V velikih črkah") End Sub
6. korak: primerjajte oba niza v spremenljivki A in B in shranite vrednost v C s funkcijo STRCOMP in uporabite primerjalno metodo kot binarno primerjavo.
Koda:
Pod vzorec () Dim A, B, C kot niz A = InputBox ("Vnesite niz", "Z malimi črkami") B = InputBox ("Vnesite niz", "V velikih črkah") C = StrComp (A, B, vbBinaryCompare) End Sub
7. korak: Prikažite izhod, shranjen v spremenljivki C, s funkcijo Msgbox.
Koda:
Pod vzorec () Dim A, B, C kot niz A = InputBox ("Vnesite niz", "Z malimi črkami") B = InputBox ("Vnesite niz", "V velikih črkah") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Pod
8. korak: Zdaj pritisnite F5, da izvršite kodo in zagotovite dva vhodna niza, kot sledi,
9. korak: Glej končni rezultat na naslednji način.
Rezultat dobimo 1, ker v Binarni primerjavi oba niza nista enaka, saj je eden niz v velikem, medtem ko je drugi niz v velikem.
Primer # 2 - VBA StrComp
Zdaj uporabimo drugo primerjalno metodo, ki je VbTextCompare in poglejmo, kakšne rezultate bomo dobili za iste vložke, ki smo jih navedli zgoraj.
1. korak: V modul, ki smo ga vstavili prej, ga na zavihku projekta dvokliknite nanj in prijavimo podfunkcijo, da začnemo delati na drugem primeru, kot sledi.
Koda:
Sub Sample1 () Konec Sub
2. korak: Tri spremenljivke moramo definirati kot strune, dve pa bosta zadržali naš vnos, druga pa bo shranila rezultat.
Koda:
Pod vzorec1 () Dim A, B, C kot niz konca Sub
3. korak: V spremenljivki A in B sprejmite uporabnik za dva niza, kot sledi.
Koda:
Pod vzorec1 () Dim A, B, C kot niz A = InputBox ("Vnesite niz", "Z malimi črkami") B = InputBox ("Vnesite niz", "V velikem sloju") End Sub
4. korak: primerjajte oba niza v spremenljivki A in B in shranite vrednost v C s funkcijo STRCOMP in kot primerjavo besedila uporabite metodo primerjave.
Koda:
Pod vzorec1 () Dim A, B, C kot niz A = InputBox ("Vnesite niz", "Z malimi črkami") B = InputBox ("Vnesite niz", "V velikih črkah") C = StrComp (A, B, vbTextCompare) End Sub
5. korak: Prikažite izhod, shranjen v spremenljivki C, s pomočjo funkcije Msgbox.
Koda:
Pod vzorec1 () Dim A, B, C kot niz A = InputBox ("Vnesite niz", "Z malimi črkami") B = InputBox ("Vnesite niz", "V velikih črkah") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub
6. korak: Zdaj pritisnite F5 in vnesite dva vhodna niza, kot sledi.
7. korak: Glej končni rezultat na naslednji način.
Kot rezultat dobimo 0, saj primerjava besedila ni z veliko začetnico, kar pomeni, da so strune enake.
Primer # 3 - VBA StrComp
Zdaj imam nekaj podatkov v listu 1 na naslednji način, rad bi ugotovil, ali sta oba podatka v stolpcu A in stolpcu B podobna drug drugemu ali ne. Oglejte si spodnje podatke.
Korak 1: V tretjem primeru bomo uporabili naslednje podatke.
Koda:
Sub Sample2 () Konec Sub
2. korak: Aktivirajte delovni list 1, tako da bomo lahko uporabili njegove lastnosti.
Koda:
Delovni listi Sub Sample2 () ("Sheet1"). Aktiviraj End Sub
Korak 3: Označite dve spremenljivki, eno kot celo število, ki bo uporabljeno za zanko in eno kot niz, ki bo uporabljen za shranjevanje rezultata primerjave.
Koda:
Sub Sample2 () delovni listi ("Sheet1"). Aktiviraj Dim A kot celoten Dim B kot niz vrvice Sub
4. korak: Za primerjavo in uporabo zanke napišite naslednjo kodo.
Koda:
Pod Sample2 () delovni listi ("Sheet1"). Aktivirajte Dim A kot celo število Dim B kot niz za A = 2 do 5 B = StrComp (celice (A, 1) .Value, celice (A, 2) .Value, vbBinaryCompare) Če je B = 0, potem bodo celice (A, 3) .Value = "Enake" Druge celice (A, 3) .Value = "NI enako" Konec Če je Naslednji konec Pod
5. korak: Zaženite zgornjo kodo in rezultat v Sheet 1 poglejte na naslednji način.
Nobena struna v primerjavi ni bila enaka.
Stvari, ki jih je treba zapomniti
- To je funkcija primerjave.
- Vrne 0, 1, -1 ali NULL, kar pomeni, da ni res ali napačno.
- Če ne zagotovimo nobene od primerjalnih metod, je privzeto metoda primerjave VbBinaryCompare.
- Metoda primerjave je neobvezen argument te funkcije.
Priporočeni članki
To je vodnik za VBA StrComp. Tukaj smo razpravljali o uporabi funkcije Excel VBA StrComp skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -
- VBA InStr je pojasnil s primeri
- Vrsta podatkov vrste VBA Integer
- Kako izbrati celico s kodo VBA?
- Transponirajte domet v VBA
- VBA delovni listi (primeri)