VBA StrComp-funktion

I vårt arbete gör vi normalt jämförelser varje gång. Dessa jämförelser kan vara på siffertexter eller vilken som helst typ av data. För siffror vet vi redan hur gör vi en jämförelse. Det finns många matematiska metoder för att göra det. Men hur jämför vi två strängar, vilket resultat kommer vi att få. STRCOMP i VBA är en strängsjämförelsefunktion. Den jämför två strängar med varandra och ger oss resultatet. Resultatet av jämförelsen är dock inte sant eller falskt. Det finns tre sätt att jämföra två strängar i STRCOMP-funktionen. Innan vi doppar i det låt oss se syntaxen för den här funktionen.

Syntax av StrComp i Excel VBA

Syntaxen för VBA StrComp-funktionen i Excel är som följer:

Sträng 1 är strängen som kommer att jämföras med sträng 2. Jämförelsemetoder är valfria för den här funktionen. Låt oss nu gå till jämförelsemetoderna i den här funktionen. Det finns tre typer av jämförelsemetoder i denna funktion och de är som följer:

  1. VbBinaryCompare: Detta är som standard en jämförelsemetod om vi inte väljer en jämförelsemetod för vår funktion. Denna jämförelsemetod är skiftlägeskänslig, vilket betyder att strängen 1 och strängen 2 är samma men strängen 1 är med små bokstäver och strängen 2 är i versalerna kommer båda inte att vara lika. Den binära koden för "a" och "A" är olika. På samma sätt för andra karaktärer. Dessa koder kallas ASCII-koder.
  2. VbTextCompare: I denna jämförelsemetod är jämförelsen inte skiftlägeskänslig, så om sträng 1 och sträng 2 är lika men inte i samma fall kommer dessa jämförelsemetoder att användas.
  3. Access jämför: Den här metoden används i databasjämförelser.

När vi nu använder denna funktion, vilket resultat kommer vi att få? Vi kommer inte att bli sanna eller falska genom att använda denna jämförelsefunktion. Istället kan vi ha något av följande resultat:

  1. 0 om strängarna är lika med varandra.
  2. 1 om strängarna inte matchar varandra.
  3. -1 om den första strängen är mindre än sträng 2.
  4. NULL om det inte finns något värde för både sträng 1 och sträng 2.

Vi kommer att gå igenom några olika exempel och se hur dessa strängjämförelser görs i VBA.

Hur använder jag VBA StrComp-funktion i Excel?

Vi kommer att lära dig att använda en VBA StrComp-funktion med exempel i Excel.

Du kan ladda ner denna VBA StrComp Excel-mall här - VBA StrComp Excel-mall

Exempel 1 - VBA StrComp

Låt oss först använda metoden Binary jämförelse för vårt exempel. Vi kommer att ta två strängaringångar från användaren, en med små bokstäver medan den andra kommer att vara i versaler och jämföra dem.

Steg 1: Från utvecklarens flik och sedan från Visual Basic för att komma in i VB Editor.

Steg 2: Sätt i en modul från infoga-fliken för att börja skriva koder i VBA.

Steg 3: Dubbelklicka på modulen från projektfliken och förklara en delfunktion enligt följande.

Koda:

 Sub Sample () Slut Sub 

Steg 4: Vi måste definiera tre variabler som strängar, två kommer att hålla vår input medan en annan kommer att lagra resultatet.

Koda:

 Subprov () Dim A, B, C Som stränghöjdsub 

Steg 5: I variablerna A och B, mata in användaren för två strängar enligt följande.

Koda:

 Underprov () Dim A, B, C Som sträng A = InputBox ("Ange en sträng", "I små bokstäver") B = InputBox ("Ange en sträng", "I versaler") End Sub 

Steg 6: Jämför båda strängarna i variabel A och B och lagra värdet i C med hjälp av STRCOMP-funktionen och använd en jämförelsemetod som en binär jämförelse.

Koda:

 Underprov () Dim A, B, C som sträng A = InputBox ("Ange en sträng", "I små bokstäver") B = InputBox ("Ange en sträng", "I versaler") C = StrComp (A, B, vbBinaryCompare) End Sub 

Steg 7: Visa utgången lagrad i variabel C med Msgbox-funktionen.

Koda:

 Underprov () Dim A, B, C som sträng A = InputBox ("Ange en sträng", "I små bokstäver") B = InputBox ("Ange en sträng", "I versaler") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Steg 8: Tryck nu på F5 för att köra koden och tillhandahålla två inmatningssträngar enligt följande,

Steg 9: Se slutresultatet enligt följande.

Vi får 1 som resultat eftersom i binärjämförelse är båda strängarna inte lika eftersom en av strängarna är i versaler medan andra är med små bokstäver.

Exempel 2 - VBA StrComp

Låt oss nu använda en annan jämförelsemetod som är VbTextCompare och se vilka resultat vi får för samma input som vi tillhandahöll ovan.

Steg 1: I modulen satte vi in ​​tidigare, dubbelklicka på den från projektfliken och förklara en underfunktion för att börja arbeta med det andra exemplet enligt följande.

Koda:

 Sub Sample1 () Slut Sub 

Steg 2: Vi måste definiera tre variabler som strängar, två kommer att hålla vår input medan en annan kommer att lagra resultatet.

Koda:

 Subprov1 () Dim A, B, C Som stränghöjdsub 

Steg 3: I variablerna A och B, mata in användaren för två strängar enligt följande.

Koda:

 Underprov1 () Dim A, B, C Som sträng A = InputBox ("Ange en sträng", "I små bokstäver") B = InputBox ("Ange en sträng", "I versaler") End Sub 

Steg 4: Jämför båda strängarna i variabel A och B och lagra värdet i C med hjälp av STRCOMP-funktionen och använd jämförelsemetoden som textjämförelse.

Koda:

 Underprov1 () Dim A, B, C som sträng A = InputBox ("Ange en sträng", "I små bokstäver") B = InputBox ("Ange en sträng", "I versaler") C = StrComp (A, B, vbTextCompare) End Sub 

Steg 5: Visa utgången lagrad i variabel C med Msgbox-funktionen.

Koda:

 Underprov1 () Dim A, B, C som sträng A = InputBox ("Ange en sträng", "I små bokstäver") B = InputBox ("Ange en sträng", "I versaler") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Steg 6: Tryck nu på F5 och ange två inmatningssträngar enligt följande.

Steg 7: Se slutresultatet enligt följande.

Vi får 0 som resultat eftersom textjämförelse inte är skiftlägeskänslig vilket innebär att strängarna är lika.

Exempel 3 - VBA StrComp

Nu har jag lite data i blad 1 på följande sätt, jag vill ta reda på om både data i kolumn A och kolumn B liknar varandra eller inte. Titta på uppgifterna nedan.

Steg 1: Låt oss arbeta i det tredje exemplet för våra data enligt följande.

Koda:

 Sub Sample2 () Slut Sub 

Steg 2: Aktivera kalkylblad 1 så att vi kan använda dess egenskaper.

Koda:

 Underprov2 () Arbetsblad ("Blad1"). Aktivera slutunder 

Steg 3: Förklara två variabler en som ett heltal som kommer att användas för loop och en som en sträng som kommer att använda för att lagra resultatet av jämförelsen.

Koda:

 Underprov2 () Arbetsblad ("Blad1"). Aktivera dim A som heltal Dim B som strängar 

Steg 4: Skriv följande kod för att jämföra och använda för-loopen.

Koda:

 Underprov2 () Arbetsblad ("Blad1"). Aktivera dim A som heltal Dim B som sträng för A = 2 till 5 B = StrComp (celler (A, 1). Värde, celler (A, 2) .Value, vbBinaryCompare) Om B = 0 är Celler (A, 3) .Value = "Lika" Andra celler (A, 3) .Value = "NOT Equal" End If Next A End Sub 

Steg 5: Kör ovanstående kod och se resultatet i blad 1 på följande sätt.

Ingen av strängarna var lika i jämförelsen.

Saker att komma ihåg

  • Detta är en jämförelsefunktion.
  • Det returnerar 0, 1, -1 eller NULL som ett resultat inte sant eller falskt.
  • Om vi ​​inte tillhandahåller någon av jämförelsemetoderna är jämförelsemetoden som standard VbBinaryCompare.
  • Jämförelsemetod är ett valfritt argument för den här funktionen.

Rekommenderade artiklar

Detta är en guide till VBA StrComp. Här diskuterar vi hur du använder Excel VBA StrComp-funktion tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA InStr förklarade med exempel
  2. VBA heltal datatyp
  3. Hur väljer jag cell med VBA-kod?
  4. Transponera ett intervall i VBA
  5. VBA-kalkylblad (exempel)

Kategori: