VBA StrComp-funksjon

I vårt arbeid gjør vi normalt sammenligninger hver gang. Disse sammenligningene kan være på talltekster eller hvilken som helst slags data. For tall vet vi allerede hvordan gjør vi en sammenligning. Det er mange matematiske metoder for å gjøre det. Men hvordan sammenligner vi to strenger, hvilket resultat vil vi få. STRCOMP i VBA er en streng sammenligningsfunksjon. Den sammenligner to strenger med hverandre og gir oss resultatet. Resultatet av sammenligningen er imidlertid ikke sant eller usant. Det er tre måter å sammenligne to strenger i STRCOMP-funksjonen. Før vi dypper ned i det, la oss se syntaks for denne funksjonen.

Syntaks for StrComp i Excel VBA

Syntaksen for VBA StrComp-funksjonen i Excel er som følger:

Streng 1 er strengen som vil bli sammenlignet med streng 2. Sammenligningsmetoder er valgfrie for denne funksjonen. La oss nå gå til sammenligningsmetodene i denne funksjonen. Det er tre typer sammenligningsmetoder i denne funksjonen, og de er som følger:

  1. VbBinaryCompare: Dette er som standard en sammenligningsmetode hvis vi ikke velger en sammenligningsmetode for vår funksjon. Denne sammenligningsmetoden er store og små bokstaver, noe som betyr at hvis streng 1 og streng 2 er like, men streng 1 er med små bokstaver og streng 2 er i store bokstaver, vil begge ikke være like. Den binære koden for “a” og “A” er forskjellige. Tilsvarende for andre karakterer. Disse kodene kalles ASCII-koder.
  2. VbTextCompare: I denne sammenligningsmetoden er sammenligningen ikke store og små bokstaver, så hvis streng 1 og streng 2 er like, men ikke i samme tilfelle, vil denne sammenligningsmetodene bli brukt.
  3. Tilgangssammenligning: Denne metoden brukes i databasesammenligning.

Når vi nå bruker denne funksjonen, hvilket resultat vil vi få? Vi vil ikke bli sann eller usann ved å bruke denne sammenligningsfunksjonen. I stedet kan vi ha noen av følgende resultater:

  1. 0 hvis strengene er lik hverandre.
  2. 1 hvis strengene ikke stemmer med hverandre.
  3. -1 hvis den første strengen er mindre enn streng 2.
  4. NULL hvis det ikke er noen verdi for både streng 1 og streng 2.

Vi vil gå gjennom noen forskjellige eksempler og se hvordan disse streng sammenligningene gjøres i VBA.

Hvordan bruker jeg VBA StrComp-funksjon i Excel?

Vi lærer hvordan du bruker en VBA StrComp-funksjon med eksempel i Excel.

Du kan laste ned denne VBA StrComp Excel-malen her - VBA StrComp Excel-mal

Eksempel 1 - VBA StrComp

La oss først bruke den binære sammenligningsmetoden for vårt eksempel. Vi vil ta to strengerinnganger fra brukeren, den ene med små bokstaver, mens den andre vil være med store bokstaver og sammenligne dem.

Trinn 1: Fra utvikler-fanen og deretter fra Visual Basic for å komme inn i VB Editor.

Trinn 2: Sett inn en modul fra insert-fanen for å begynne å skrive koder i VBA.

Trinn 3: Dobbeltklikk på modulen fra prosjektfanen og erklær en underfunksjon som følger.

Kode:

 Undereksempel () Slutt Sub 

Trinn 4: Vi må definere tre variabler som strenger, to vil holde innspillene våre, mens en annen vil lagre resultatet.

Kode:

 Underprøve () Dim A, B, C Som streng slutt Sub 

Trinn 5: I variabler A og B kan du ta innspill fra brukeren for to strenger som følger.

Kode:

 Underprøve () Dim A, B, C Som streng A = InputBox ("Skriv inn en streng", "I små bokstaver") B = InputBox ("Skriv inn en streng", "I store bokstaver") End Sub Sub 

Trinn 6: Sammenlign begge strengene i variabel A og B og lagre verdien i C ved å bruke STRCOMP-funksjonen og bruk en sammenligningsmetode som en binær sammenligning.

Kode:

 Underprøve () Dim A, B, C Som streng A = InputBox ("Skriv inn en streng", "I små bokstaver") B = InputBox ("Skriv inn en streng", "I store bokstaver") C = StrComp (A, B, vbBinaryCompare) End Sub 

Trinn 7: Vis utgangen som er lagret i variabel C ved å bruke Msgbox-funksjonen.

Kode:

 Underprøve () Dim A, B, C Som streng A = InputBox ("Skriv inn en streng", "I små bokstaver") B = InputBox ("Skriv inn en streng", "I store bokstaver") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Trinn 8: Trykk nå F5 for å utføre koden og gi to inngangsstrenger som følger,

Trinn 9: Se det endelige resultatet som følger.

Vi får 1 som et resultat fordi i binær sammenligning er begge strengene ikke like, ettersom strengen er med store bokstaver, mens den andre er med små bokstaver.

Eksempel 2 - VBA StrComp

La oss nå bruke en annen sammenligningsmetode som er VbTextCompare og se hvilke resultater vi får for de samme inngangene vi ga ovenfor.

Trinn 1: I modulen satte vi inn tidligere, dobbeltklikker du på den fra prosjektfanen og erklærer en underfunksjon for å begynne å jobbe med det andre eksemplet som følger.

Kode:

 Sub Sample1 () Slutt Sub 

Trinn 2: Vi må definere tre variabler som strenger, to vil holde innspillene våre mens en annen vil lagre resultatet.

Kode:

 Underprøve1 () Dim A, B, C Som streng slutt Sub 

Trinn 3: I variabler A og B kan du ta innspill fra brukeren for to strenger som følger.

Kode:

 Underprøve1 () Dim A, B, C Som streng A = InputBox ("Skriv inn en streng", "I små bokstaver") B = InputBox ("Skriv inn en streng", "I store bokstaver") Slutt 

Trinn 4: Sammenlign begge strengene i variabel A og B og lagre verdien i C ved å bruke STRCOMP-funksjonen og bruk sammenligningsmetoden som tekstsammenligning.

Kode:

 Underprøve1 () Dim A, B, C Som streng A = InputBox ("Skriv inn en streng", "I små bokstaver") B = InputBox ("Skriv inn en streng", "I store bokstaver") C = StrComp (A, B, vbTextCompare) Slutt sub 

Trinn 5: Vis utgangen som er lagret i variabel C ved å bruke Msgbox-funksjonen.

Kode:

 Underprøve1 () Dim A, B, C Som streng A = InputBox ("Skriv inn en streng", "I små bokstaver") B = InputBox ("Skriv inn en streng", "I store bokstaver") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Trinn 6: Nå trykker du på F5 og gir to inngangsstrenger som følger.

Trinn 7: Se det endelige resultatet som følger.

Vi får 0 som resultat ettersom tekstsammenligning ikke er store og små bokstaver, noe som betyr at strengene er like.

Eksempel 3 - VBA StrComp

Nå har jeg noen data i ark 1 som følger, jeg vil finne ut om både dataene i kolonne A og kolonne B ligner hverandre eller ikke. Ta en titt på dataene nedenfor.

Trinn 1: La oss arbeide i det tredje eksemplet for våre data som følger.

Kode:

 Sub Sample2 () Slutt Sub 

Trinn 2: Aktiver arbeidsark 1 slik at vi kan bruke dets egenskaper.

Kode:

 Undereksempel2 () Arbeidsark ("Ark1"). Aktiver Sluttund 

Trinn 3: Deklar to variabler en som et helt tall som vil bli brukt for loop og en som en streng som vil bruke til å lagre resultatet av sammenligningen.

Kode:

 Undereksempel2 () Arbeidsark ("Ark1"). Aktiver Dim A som heltall Dim B som streng sluttund 

Trinn 4: Skriv følgende kode for å sammenligne og bruke for-loop.

Kode:

 Undereksempel2 () Arbeidsark ("Ark1"). Aktiver Dim A som heltal Dim B som streng for A = 2 til 5 B = StrComp (Cells (A, 1) .Value, Cells (A, 2) .Value, vbBinaryCompare) Hvis B = 0, er celler (A, 3). Verdi = "like" andre celler (A, 3). Verdi = "IKKE lik" slutt hvis neste en slutt sub 

Trinn 5: Kjør koden ovenfor og se resultatet i ark 1 som følger.

Ingen av strengene var like i sammenligningen.

Ting å huske

  • Dette er en sammenligningsfunksjon.
  • Det returnerer 0, 1, -1 eller NULL som et resultat ikke sant eller usant.
  • Hvis vi ikke gir noen av sammenligningsmetodene, er sammenligningsmetoden som standard VbBinaryCompare.
  • Sammenligningsmetode er et valgfritt argument for denne funksjonen.

Anbefalte artikler

Dette er en guide til VBA StrComp. Her diskuterer vi hvordan du bruker Excel VBA StrComp-funksjon sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA InStr forklarte med eksempler
  2. VBA Integer Datatype
  3. Hvordan velge celle ved å bruke VBA-kode?
  4. Transponere et område i VBA
  5. VBA-regneark (eksempler)

Kategori: