VBA StrComp-funktion

I vores arbejde foretager vi normalt sammenligninger hver gang. Disse sammenligninger kan være på nummertekster eller en hvilken som helst slags data. For tal ved vi allerede, hvordan kan vi sammenligne. Der er mange matematiske metoder til at gøre det. Men hvordan sammenligner vi to strenge, hvilket resultat får vi. STRCOMP i VBA er en streng-sammenligningsfunktion. Det sammenligner to strenge med hinanden og giver os resultatet. Resultatet af sammenligningen er imidlertid ikke sandt eller forkert. Der er tre måder at sammenligne to strenge i STRCOMP-funktionen. Før vi dypper ned i det, lad os se syntaks for denne funktion.

Syntaks for StrComp i Excel VBA

Syntaks for VBA StrComp-funktion i Excel er som følger:

Streng 1 er den streng, der vil blive sammenlignet med streng 2. Sammenligningsmetoder er valgfri for denne funktion. Lad os nu gå til sammenligningsmetoderne i denne funktion. Der er tre typer af sammenligningsmetoder i denne funktion, og de er som følger:

  1. VbBinaryCompare: Dette er som standard en sammenligningsmetode, hvis vi ikke vælger en sammenligningsmetode til vores funktion. Denne sammenligningsmetode er store og små bogstaver, hvilket betyder, at hvis streng 1 og streng 2 er ens, men streng 1 er med små bogstaver, og streng 2 er med store bogstaver, vil begge ikke være ens. Den binære kode for “a” og “A” er forskellige. Tilsvarende for andre tegn. Disse koder kaldes ASCII-koder.
  2. VbTextCompare: I denne sammenligningsmetode er sammenligningen ikke store og små bogstaver, så hvis streng 1 og streng 2 er ens, men ikke i samme tilfælde, vil denne sammenligningsmetode blive brugt.
  3. Access Sammenligning: Denne metode bruges i databasesammenligninger.

Når vi bruger denne funktion nu, hvilket resultat får vi? Vi vil ikke blive sand eller forkert ved at bruge denne sammenligningsfunktion. I stedet kan vi have et af følgende resultater:

  1. 0, hvis strengene er ens.
  2. 1, hvis strengene ikke stemmer overens med hinanden.
  3. -1 hvis den første streng er mindre end streng 2.
  4. NULL, hvis der ikke er nogen værdi for både streng 1 og streng 2.

Vi vil gennemgå nogle forskellige eksempler og se, hvordan disse string-sammenligninger gøres i VBA.

Sådan bruges VBA StrComp-funktion i Excel?

Vi lærer, hvordan man bruger en VBA StrComp-funktion med eksempel i Excel.

Du kan downloade denne VBA StrComp Excel-skabelon her - VBA StrComp Excel-skabelon

Eksempel 1 - VBA StrComp

Lad os først bruge den binære sammenligningsmetode til vores eksempel. Vi tager to strengeinput fra brugeren, den ene med små bogstaver, mens den anden vil være med store bogstaver og sammenligne dem.

Trin 1: Fra udviklerens fane og derefter fra Visual Basic for at komme ind i VB Editor.

Trin 2: Indsæt et modul fra insert-fanen for at begynde at skrive koder i VBA.

Trin 3: Dobbeltklik på modulet fra projektfanen og erklær en underfunktion som følger.

Kode:

 Undereksempel () Slutundert 

Trin 4: Vi er nødt til at definere tre variabler som strenge, to holder vores input, mens en anden gemmer resultatet.

Kode:

 Underprøve () Dim A, B, C Som streng-end-sub 

Trin 5: I variabel A og B indtastes input fra brugeren for to strenge som følger.

Kode:

 Undereksempel () Dim A, B, C Som streng A = InputBox ("Indtast en streng", "I små bogstaver") B = InputBox ("Indtast en streng", "I store bogstaver") End Sub 

Trin 6: Sammenlign begge strenge i variabel A og B, og gem værdien i C ved hjælp af STRCOMP-funktionen og brug en sammenligningsmetode som en binær sammenligning.

Kode:

 Undereksempel () Dim A, B, C som streng A = InputBox ("Indtast en streng", "I små bogstaver") B = InputBox ("Indtast en streng", "I store bogstaver") C = StrComp (A, B, vbBinaryCompare) End Sub 

Trin 7: Vis output, der er gemt i variabel C ved hjælp af Msgbox-funktionen.

Kode:

 Undereksempel () Dim A, B, C som streng A = InputBox ("Indtast en streng", "I små bogstaver") B = InputBox ("Indtast en streng", "I store bogstaver") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Trin 8: Tryk nu på F5 for at udføre koden og give to input-strenge som følger,

Trin 9: Se det endelige resultat som følger.

Vi får 1 som et resultat, fordi i binær sammenligning er begge strengene ikke ens, da en af ​​strengen er med store bogstaver, mens den anden er med små bogstaver.

Eksempel 2 - VBA StrComp

Lad os nu bruge en anden sammenligningsmetode, der er VbTextCompare, og se, hvilke resultater vi får for de samme input, som vi leverede ovenfor.

Trin 1: I modulet indsatte vi tidligere, dobbeltklik på det fra projektfanen og erklærer en underfunktion til at begynde at arbejde på det andet eksempel som følger.

Kode:

 Underprøve1 () Slutundert 

Trin 2: Vi er nødt til at definere tre variabler som strenge, to holder vores input, mens en anden gemmer resultatet.

Kode:

 Underprøve1 () Dim A, B, C Som strengende under Sub 

Trin 3: I variabel A og B indtastes input fra brugeren for to strenge som følger.

Kode:

 Undereksempel1 () Dim A, B, C som streng A = InputBox ("Indtast en streng", "I små bogstaver") B = InputBox ("Indtast en streng", "I store bogstaver") End Sub 

Trin 4: Sammenlign begge strenge i variabel A og B, og gem værdien i C vha. STRCOMP-funktionen og brug sammenligningsmetoden som tekstsammenligning.

Kode:

 Undereksempel1 () Dim A, B, C som streng A = InputBox ("Indtast en streng", "I små bogstaver") B = InputBox ("Indtast en streng", "I store bogstaver") C = StrComp (A, B, vbTextCompare) End Sub 

Trin 5: Vis output, der er gemt i variabel C ved hjælp af Msgbox-funktionen.

Kode:

 Undereksempel1 () Dim A, B, C som streng A = InputBox ("Indtast en streng", "I små bogstaver") B = InputBox ("Indtast en streng", "I store bogstaver") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Trin 6: Tryk nu på F5 og angiv to input-strenge som følger.

Trin 7: Se det endelige resultat som følger.

Vi får 0 som resultat, da tekstsammenligning ikke er store og små bogstaver, hvilket betyder, at strengene er ens.

Eksempel # 3 - VBA StrComp

Nu har jeg nogle data i ark 1 som følger. Jeg vil gerne finde ud af, om både dataene i kolonne A og kolonne B ligner hinanden eller ej. Se på nedenstående data.

Trin 1: Lad os arbejde i det tredje eksempel på vores data som følger.

Kode:

 Undereksempel2 () Slutundert 

Trin 2: Aktivér regneark 1, så vi kan bruge dets egenskaber.

Kode:

 Undereksempel2 () Arbejdsark ("Ark1"). Aktivér slutund 

Trin 3: Angiv to variabler, den ene som et heltal, som vil blive brugt til loop, og en som en streng, der vil bruge til at gemme resultatet af sammenligningen.

Kode:

 Undereksempel2 () Arbejdsark ("Ark1") Aktivér Dim A som heltal Dim B som streng slutningssub 

Trin 4: Skriv følgende kode for at sammenligne og bruge for-loop.

Kode:

 Undereksempel2 () Arbejdsark ("Ark1"). Aktivér Dim A som heltal Dim B som streng for A = 2 til 5 B = StrComp (celler (A, 1). Værdi, celler (A, 2). Værdi, vbBinaryCompare) Hvis B = 0, er celler (A, 3) .Value = "Lige" andre celler (A, 3). Værdi = "IKKE ens" Ende, hvis næste en ende Sub 

Trin 5: Kør ovenstående kode og se resultatet i ark 1 som følger.

Ingen af ​​strengene var ens i sammenligningen.

Ting at huske

  • Dette er en sammenligningsfunktion.
  • Det returnerer 0, 1, -1 eller NULL som et resultat ikke sandt eller forkert.
  • Hvis vi ikke leverer nogen af ​​sammenligningsmetoderne, er sammenligningsmetoden som standard VbBinaryCompare.
  • Sammenligningsmetode er et valgfrit argument for denne funktion.

Anbefalede artikler

Dette er en guide til VBA StrComp. Her diskuterer vi, hvordan du bruger Excel VBA StrComp-funktion sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA InStr forklaret med eksempler
  2. VBA heltal datatype
  3. Hvordan vælger du celle ved hjælp af VBA-kode?
  4. Transponér et interval i VBA
  5. VBA-regneark (eksempler)

Kategori: