VBA Sammenlign strenge - StrComp

I VBA kan du sammenligne to strenge ved hjælp af StrComp fungere. I denne vejledning lærer du, hvordan du bruger denne funktion med forskellige sammenligningsmetoder.

Hvis du vil lære at bruge VBA -lignende operatør til at sammenligne unøjagtige kampe, klik her: VBA -lignende operatør.

Hvis du vil lære at bruge sammenligningsoperatorer, skal du klikke her: VBA -sammenligningsoperatorer - ikke lig med og mere

Brug af StrComp -funktionen til at sammenligne to strenge

Det StrComp funktion tager to strenge og sammenligningsmetode som argumenter. Der er 3 sammenligningsmetoder:

  • vbBinaryCompare - sammenligner to strenge binære (store og små bogstaver)
  • vbTextCompare - sammenligner to strenge som tekster (store og små bogstaver);
  • vbDatabaseCompare - denne metode er kun tilgængelig i Microsoft Access og ikke i VBA.

Som standard bruger funktionen den binære metode. Hvis vi udelader dette argument, vil funktionen være store og små bogstaver.

Funktionen returnerer følgende resultater:

  • 0 - hvis strenge er lige;
  • -1 - hvis streng 1 er mindre end streng 2;
  • 1 - hvis streng 1 er større end streng 2;
  • Null - hvis en af ​​strengene er tom.

Her er eksempelkoden:

123 Dim intResult som heltalintResult = StrComp ("Computer", "Computer")

I dette eksempel vil vi kontrollere, om strenge "Computer" og "Computer" er ens ved hjælp af standard sammenligningsmetoden (binær). Resultatet af funktionen er i intResult variabel. Som du kan se i Image, er begge strenge ens, derfor er intResult har værdi 0.

Billede 1. Brug af StrComp -funktionen med den binære metode i VBA

Brug af StrComp -funktionen med binær og tekstlig metode

Du vil nu se forskellen mellem at bruge den binære og tekstuelle metode. Den binære metode har et binært tal for hvert tegn, så store og små bogstaver er forskellige tegn i denne metode. På den anden side betragter den tekstmæssige metode “S” og “s” som de samme bogstaver. Hvis du vil gøre funktionen ufølsom over for funktioner, skal du indstille det tredje argument til vbBinaryCompare. Her er koden:

123456 Dim intResult1 som heltalDim intResult2 som heltalintResult1 = StrComp ("Computer", "CompuTer")intResult2 = StrComp ("Computer", "CompuTer", vbTextCompare)

Vi vil sammenligne strenge "Computer" og "Computer", ved hjælp af begge metoder.

I variablen intResult1, får vi værdien med den binære metode, mens intResult2 får værdien med den tekstmæssige metode. Du kan se værdierne for disse to variabler:

Billede 2. Brug af StrComp -funktionen med binær og tekstlig metode

Værdien af intResult1 er 1, hvilket betyder, at to strenge er forskellige for den binære metode. For den tekstmæssige metode er disse to strenge ens, så værdien af intResult2 er 0.

wave wave wave wave wave