VBA StrComp-functie

In ons werk maken we normaal gesproken elke keer vergelijkingen. Deze vergelijkingen kunnen betrekking hebben op getalteksten of elk soort gegevens. Voor cijfers weten we al hoe we een vergelijking kunnen maken. Er zijn veel wiskundige methoden om dit te doen. Maar hoe vergelijken we twee strings, welk resultaat krijgen we? STRCOMP in VBA is een tekenreeksvergelijkingsfunctie. Het vergelijkt twee strings met elkaar en geeft ons het resultaat. Het resultaat van de vergelijking is echter niet waar of niet waar. Er zijn drie manieren om twee strings te vergelijken in de STRCOMP-functie. Voordat we daarop ingaan, laten we de syntaxis voor deze functie zien.

Syntaxis van StrComp in Excel VBA

De syntaxis voor de VBA StrComp-functie in Excel is als volgt:

String 1 is de string die wordt vergeleken met string 2. Vergelijkingsmethoden zijn optioneel voor deze functie. Laten we nu naar de vergelijkingsmethoden in deze functie gaan. Er zijn drie soorten vergelijkingsmethoden in deze functie en deze zijn als volgt:

  1. VbBinaryCompare: dit is standaard een vergelijkingsmethode als we geen vergelijkingsmethode voor onze functie kiezen. Deze vergelijkingsmethode is hoofdlettergevoelig, wat betekent dat als string 1 en string 2 hetzelfde zijn, maar string 1 in kleine letters en string 2 in hoofdletters zijn, beide niet hetzelfde zijn. De binaire code voor "a" en "A" zijn verschillend. Zo ook voor andere karakters. Die codes worden ASCII-codes genoemd.
  2. VbTextCompare: In deze vergelijkingsmethode is de vergelijking niet hoofdlettergevoelig, dus als tekenreeks 1 en tekenreeks 2 gelijk zijn, maar niet in hetzelfde geval, worden deze vergelijkingsmethoden gebruikt.
  3. Toegang vergelijken: deze methode wordt gebruikt bij databasevergelijkingen.

Welk resultaat zullen we krijgen als we deze functie gebruiken? We zullen niet waar of onwaar worden door deze vergelijkingsfunctie te gebruiken. In plaats daarvan kunnen we een van de volgende resultaten hebben:

  1. 0 als de snaren gelijk zijn aan elkaar.
  2. 1 als de snaren niet bij elkaar passen.
  3. -1 als de eerste string kleiner is dan string 2.
  4. NULL als er geen waarde is voor zowel string 1 als string 2.

We zullen een aantal verschillende voorbeelden doornemen en zien hoe deze tekenreeksvergelijkingen in VBA worden gedaan.

Hoe de VBA StrComp-functie in Excel te gebruiken?

We zullen leren hoe een VBA StrComp-functie te gebruiken met bijvoorbeeld Excel.

U kunt deze VBA StrComp Excel-sjabloon hier downloaden - VBA StrComp Excel-sjabloon

Voorbeeld # 1 - VBA StrComp

Laten we eerst de Binaire vergelijkingsmethode gebruiken voor ons voorbeeld. We nemen twee tekenreekseninvoer van de gebruiker, één in kleine letters en de andere in hoofdletters en vergelijken ze.

Stap 1: Via het tabblad van de ontwikkelaar en vervolgens vanuit Visual Basic om naar VB Editor te gaan.

Stap 2: Voeg een module in vanaf het invoegtabblad om codes in VBA te schrijven.

Stap 3: Dubbelklik op de module op het projecttabblad en declareer een subfunctie als volgt.

Code:

 Sub-monster () Einde Sub 

Stap 4: We moeten drie variabelen als tekenreeksen definiëren, twee houden onze invoer vast en een andere slaat het resultaat op.

Code:

 Sub Sample () Dim A, B, C Als String End Sub 

Stap 5: In variabele A en B neemt u als volgt input van de gebruiker voor twee strings.

Code:

 Subvoorbeeld () Dim A, B, C Als tekenreeks A = InputBox ("Voer een tekenreeks in", "In kleine letters") B = InputBox ("Voer een tekenreeks in", "In hoofdletters") Einde sub 

Stap 6: Vergelijk beide reeksen in variabele A en B en sla de waarde op in C met behulp van de STRCOMP-functie en gebruik een vergelijkingsmethode als een binaire vergelijking.

Code:

 Subvoorbeeld () Dim A, B, C Als tekenreeks A = InputBox ("Voer een tekenreeks in", "In kleine letters") B = InputBox ("Voer een tekenreeks in", "In hoofdletters") C = StrComp (A, B, vbBinaryCompare) Einde Sub 

Stap 7: Geef de uitvoer weer die is opgeslagen in Variabele C met behulp van de Msgbox-functie.

Code:

 Subvoorbeeld () Dim A, B, C Als tekenreeks A = InputBox ("Voer een tekenreeks in", "In kleine letters") B = InputBox ("Voer een tekenreeks in", "In hoofdletters") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Stap 8: Druk nu op F5 om de code uit te voeren en geef twee invoerreeksen als volgt op,

Stap 9: Zie het eindresultaat als volgt.

We krijgen 1 als resultaat omdat in Binaire vergelijking beide reeksen niet gelijk zijn omdat een van de tekenreeks in hoofdletters is, terwijl een andere in kleine letters is.

Voorbeeld # 2 - VBA StrComp

Laten we nu een andere vergelijkingsmethode gebruiken, namelijk VbTextCompare, en kijken welke resultaten we krijgen voor dezelfde invoer die we hierboven hebben gegeven.

Stap 1: In de module die we eerder hebben ingevoegd, dubbelklik erop op het projecttabblad en verklaar een subfunctie om als volgt aan het tweede voorbeeld te werken.

Code:

 Sub Sample1 () Einde Sub 

Stap 2: We moeten drie variabelen als tekenreeksen definiëren, twee houden onze invoer vast en een andere slaat het resultaat op.

Code:

 Sub Sample1 () Dim A, B, C Als String End Sub 

Stap 3: In variabele A en B neemt u als volgt input van de gebruiker voor twee strings.

Code:

 Sub Sample1 () Dim A, B, C Als String A = InputBox ("Voer een string in", "In kleine letters") B = InputBox ("Voer een string in", "In hoofdletters") End Sub 

Stap 4: Vergelijk beide reeksen in variabele A en B en sla de waarde op in C met behulp van de STRCOMP-functie en gebruik de vergelijkingsmethode als tekstvergelijking.

Code:

 Sub Sample1 () Dim A, B, C Als tekenreeks A = InputBox ("Voer een tekenreeks in", "In kleine letters") B = InputBox ("Voer een tekenreeks in", "In hoofdletters") C = StrComp (A, B, vbTextCompare) End Sub 

Stap 5: Geef de uitvoer weer die is opgeslagen in Variabele C met behulp van de Msgbox-functie.

Code:

 Sub Sample1 () Dim A, B, C Als tekenreeks A = InputBox ("Voer een tekenreeks in", "In kleine letters") B = InputBox ("Voer een tekenreeks in", "In hoofdletters") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Stap 6: Druk nu op F5 en geef twee invoerreeksen op als volgt.

Stap 7: Zie het eindresultaat als volgt.

We krijgen 0 als resultaat omdat tekstvergelijking niet hoofdlettergevoelig is, wat betekent dat de tekenreeksen gelijk zijn.

Voorbeeld # 3 - VBA StrComp

Nu heb ik enkele gegevens in Blad 1 als volgt, ik wil weten of beide gegevens in kolom A en kolom B op elkaar lijken of niet. Bekijk de onderstaande gegevens.

Stap 1: Laten we in het derde voorbeeld voor onze gegevens als volgt werken.

Code:

 Sub Sample2 () Einde Sub 

Stap 2: Activeer werkblad 1 zodat we de eigenschappen ervan kunnen gebruiken.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer Sub Sub 

Stap 3: Declareer twee variabelen één als een geheel getal dat wordt gebruikt voor lus en één als een tekenreeks die wordt gebruikt om het resultaat van de vergelijking op te slaan.

Code:

 Sub Sample2 () Werkbladen ("Sheet1") Activeer dim A als geheel getal Dim B als tekenreeks einde Sub 

Stap 4: Schrijf de volgende code om te vergelijken en gebruik de for-lus.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer Dim A als geheel getal Dim B als tekenreeks voor A = 2 tot 5 B = StrComp (cellen (A, 1). Waarde, cellen (A, 2). Waarde, vbBinaryCompare) Als B = 0, dan cellen (A, 3). Waarde = "Gelijk" Andere cellen (A, 3). Waarde = "NIET gelijk" Einde als volgende A Einde Sub 

Stap 5: Voer de bovenstaande code uit en bekijk het resultaat in Blad 1 als volgt.

Geen van de snaren waren gelijk in de vergelijking.

Dingen om te onthouden

  • Dit is een vergelijkingsfunctie.
  • Het retourneert 0, 1, -1 of NULL als resultaat niet waar of onwaar.
  • Als we geen van de vergelijkingsmethoden bieden, is de vergelijkingsmethode standaard VbBinaryCompare.
  • Vergelijkingsmethode is een optioneel argument voor deze functie.

Aanbevolen artikelen

Dit is een handleiding voor VBA StrComp. Hier bespreken we hoe u Excel VBA StrComp-functie kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA InStr uitgelegd met voorbeelden
  2. VBA Geheel gegevenstype
  3. Hoe cel te selecteren met behulp van VBA-code?
  4. Transponeer een bereik in VBA
  5. VBA-werkbladen (voorbeelden)

Categorie: