VBA Salīdzināt Stīgas - StrComp

VBA varat salīdzināt divas virknes, izmantojot StrComp funkciju. Šajā apmācībā jūs uzzināsit, kā izmantot šo funkciju ar dažādām salīdzināšanas metodēm.

Ja vēlaties uzzināt, kā izmantot VBA līdzīgu operatoru, lai salīdzinātu neprecīzas atbilstības, noklikšķiniet šeit: VBA patīk operators.

Ja vēlaties uzzināt, kā izmantot salīdzināšanas operatorus, noklikšķiniet šeit: VBA salīdzināšanas operatori - nav vienādi ar citiem

Funkcijas StrComp izmantošana divu virkņu salīdzināšanai

The StrComp funkcija kā argumentus ņem divas virknes un salīdzināšanas metodi. Ir 3 salīdzināšanas metodes:

  • vbBinaryCompare - salīdzina divas binārās virknes (reģistrjutīgas);
  • vbTextCompare - salīdzina divas virknes kā tekstus (reģistrjutīgas);
  • vbDatabaseCompare - šī metode ir pieejama tikai Microsoft Access, nevis VBA.

Pēc noklusējuma funkcija izmanto bināro metodi. Ja izlaidīsim šo argumentu, funkcija būs reģistrjutīga.

Funkcija atgriež šādus rezultātus:

  • 0 - ja virknes ir vienādas;
  • -1 - ja virkne 1 ir mazāka par virkni 2;
  • 1 - ja virkne 1 ir lielāka par virkni 2;
  • Nulle - ja viena no virknēm ir tukša.

Šeit ir koda piemērs:

123 Dim intResult kā vesels skaitlisintResult = StrComp ("Dators", "Dators")

Šajā piemērā mēs vēlamies pārbaudīt, vai virknes “Dators” un “Dators” ir vienādi, izmantojot noklusējuma salīdzināšanas metodi (bināro). Funkcijas rezultāts ir intResult mainīgais. Kā redzat attēlā, abas virknes ir vienādas, tāpēc intResult ir vērtība 0.

Attēls 1. Izmantojot funkciju StrComp ar bināro metodi VBA

Funkcijas StrComp izmantošana ar bināro un teksta metodi

Tagad jūs redzēsit atšķirību starp binārās un teksta metodes izmantošanu. Binārajai metodei katrai rakstzīmei ir binārais skaitlis, tāpēc lielie un mazie burti ir dažādas šīs metodes rakstzīmes. No otras puses, teksta metode “S” un “s” uzskata par vienādiem burtiem. Ja vēlaties, lai funkcija nejustu reģistru, trešais arguments ir jāiestata uz vbBinaryCompare. Šeit ir kods:

123456 Dim intResult1 Kā vesels skaitlisDim intResult2 kā vesels skaitlisintResult1 = StrComp ("Dators", "CompuTer")intResult2 = StrComp ("Dators", "CompuTer", vbTextCompare)

Mēs vēlamies salīdzināt virknes “Dators” un "Komputeris", izmantojot abas metodes.

Mainīgajā intResult1, mēs iegūsim vērtību ar bināro metodi, savukārt intResult2 iegūs vērtību ar teksta metodi. Jūs varat redzēt šo divu mainīgo vērtības:

Attēls 2. StrComp funkcijas izmantošana ar bināro un tekstuālo metodi

Vērtība intResult1 ir 1, kas nozīmē, ka binārajai metodei ir atšķirīgas divas virknes. Teksta metodei šīs divas virknes ir vienādas, tāpēc vērtība intResult2 ir 0.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave