Funzione VBA StrComp

Nel nostro lavoro, normalmente facciamo dei confronti ogni volta. Questi confronti possono riguardare testi di numeri o qualsiasi tipo di dati. Per quanto riguarda i numeri, sappiamo già come possiamo fare un confronto. Ci sono molti metodi matematici per farlo. Ma come possiamo confrontare due stringhe, quale risultato otterremo. STRCOMP in VBA è una funzione di confronto delle stringhe. Confronta due stringhe tra loro e ci dà il risultato. Tuttavia, il risultato del confronto non è vero o falso. Esistono tre modi per confrontare due stringhe nella funzione STRCOMP. Prima di approfondire, vediamo la sintassi di questa funzione.

Sintassi di StrComp in Excel VBA

La sintassi per la funzione VBA StrComp in Excel è la seguente:

La stringa 1 è la stringa che verrà confrontata con la stringa 2. I metodi di confronto sono facoltativi per questa funzione. Ora passiamo ai metodi di confronto in questa funzione. Esistono tre tipi di metodi di confronto in questa funzione e sono i seguenti:

  1. VbBinaryCompare: questo è il metodo di confronto predefinito se non scegliamo un metodo di confronto per la nostra funzione. Questo metodo di confronto fa distinzione tra maiuscole e minuscole, il che significa che se la stringa 1 e la stringa 2 sono uguali ma la stringa 1 è in minuscolo e la stringa 2 è in maiuscolo, entrambe non saranno simili. Il codice binario per "a" e "A" sono diversi. Allo stesso modo per altri personaggi. Tali codici sono chiamati codici ASCII.
  2. VbTextCompare: in questo metodo di confronto il confronto non fa distinzione tra maiuscole e minuscole, quindi se la stringa 1 e la stringa 2 sono uguali ma non nello stesso caso, verranno utilizzati questi metodi di confronto.
  3. Access Compare: questo metodo viene utilizzato nei confronti di database.

Ora, quando utilizziamo questa funzione, quale risultato otterremo? Non diventeremo veri o falsi usando questa funzione di confronto. Invece, possiamo avere uno dei seguenti risultati:

  1. 0 se le stringhe sono uguali tra loro.
  2. 1 se le stringhe non corrispondono tra loro.
  3. -1 se la prima stringa è più piccola della stringa 2.
  4. NULL se non è presente alcun valore sia per la stringa 1 che per la stringa 2.

Analizzeremo alcuni esempi e vedremo come vengono eseguiti questi confronti di stringhe in VBA.

Come utilizzare la funzione VBA StrComp in Excel?

Impareremo come utilizzare una funzione VBA StrComp con l'esempio in Excel.

Puoi scaricare questo modello VBA StrComp Excel qui - Modello VBA StrComp Excel

Esempio n. 1 - VBA StrComp

Usiamo innanzitutto il metodo di confronto binario per il nostro esempio. Prenderemo due input di stringhe dall'utente, uno in minuscolo mentre l'altro sarà in maiuscolo e li confronteremo.

Passaggio 1: dalla scheda dello sviluppatore e quindi da Visual Basic per accedere a VB Editor.

Passaggio 2: inserire un modulo dalla scheda Inserisci per iniziare a scrivere codici in VBA.

Passaggio 3: fare doppio clic sul modulo dalla scheda progetto e dichiarare una sotto-funzione come segue.

Codice:

 Campione secondario () End Sub 

Step 4: Dobbiamo definire tre variabili come stringhe, due manterranno il nostro input mentre un'altra memorizzerà il risultato.

Codice:

 Sottocampione () Dim A, B, C come stringa Sottotitolo Sottotitoli 

Passaggio 5: nelle variabili A e B, inserire l'input dell'utente per due stringhe come segue.

Codice:

 Esempio secondario () Dim A, B, C come stringa A = InputBox ("Inserisci una stringa", "In minuscolo") B = InputBox ("Inserisci una stringa", "In maiuscolo") End Sub 

Passaggio 6: confrontare entrambe le stringhe nella variabile A e B e memorizzare il valore in C utilizzando la funzione STRCOMP e utilizzare un metodo di confronto come confronto binario.

Codice:

 Esempio secondario () Dim A, B, C come stringa A = InputBox ("Inserisci una stringa", "In minuscolo") B = InputBox ("Inserisci una stringa", "In maiuscolo") C = StrComp (A, B, vbBinaryCompare) End Sub 

Passaggio 7: visualizzare l'output memorizzato nella variabile C utilizzando la funzione Msgbox.

Codice:

 Esempio secondario () Dim A, B, C come stringa A = InputBox ("Inserisci una stringa", "In minuscolo") B = InputBox ("Inserisci una stringa", "In maiuscolo") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Passaggio 8: Ora premi F5 per eseguire il codice e fornire due stringhe di input come segue,

Passaggio 9: vedere il risultato finale come segue.

Otteniamo 1 come risultato perché nel confronto binario entrambe le stringhe non sono uguali poiché una delle stringhe è in maiuscolo mentre l'altra è in minuscolo.

Esempio n. 2 - VBA StrComp

Ora usiamo un altro metodo di confronto che è VbTextCompare e vediamo quali risultati otterremo per gli stessi input che abbiamo fornito sopra.

Passaggio 1: Nel modulo, abbiamo inserito in precedenza, fare doppio clic su di esso dalla scheda del progetto e dichiarare una sotto-funzione per iniziare a lavorare sul secondo esempio come segue.

Codice:

 Sub Sample1 () End Sub 

Step 2: Dobbiamo definire tre variabili come stringhe, due manterranno il nostro input mentre un'altra memorizzerà il risultato.

Codice:

 Sottotitolo 1 () Dim A, B, C come stringa fine sottotitoli 

Passaggio 3: nelle variabili A e B, inserire l'input dell'utente per due stringhe come segue.

Codice:

 Esempio secondario 1 () Dim A, B, C come stringa A = InputBox ("Inserisci una stringa", "In minuscolo") B = InputBox ("Inserisci una stringa", "In maiuscolo") End Sub 

Passaggio 4: confrontare entrambe le stringhe nella variabile A e B e memorizzare il valore in C utilizzando la funzione STRCOMP e utilizzare il metodo di confronto come confronto di testo.

Codice:

 Esempio secondario 1 () Dim A, B, C come stringa A = InputBox ("Inserisci una stringa", "In minuscolo") B = InputBox ("Inserisci una stringa", "In maiuscolo") C = StrComp (A, B, vbTextCompare) End Sub 

Passaggio 5: visualizzare l'output memorizzato nella variabile C utilizzando la funzione Msgbox.

Codice:

 Esempio secondario 1 () Dim A, B, C come stringa A = InputBox ("Inserisci una stringa", "In minuscolo") B = InputBox ("Inserisci una stringa", "In maiuscolo") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Passaggio 6: ora premere F5 e fornire due stringhe di input come segue.

Passaggio 7: vedere il risultato finale come segue.

Di conseguenza otteniamo 0 poiché il confronto del testo non fa distinzione tra maiuscole e minuscole, il che significa che le stringhe sono uguali.

Esempio n. 3 - VBA StrComp

Ora ho alcuni dati nel foglio 1 come segue, voglio scoprire se entrambi i dati nella colonna A e nella colonna B sono simili tra loro o meno. Dai un'occhiata ai dati qui sotto.

Passaggio 1: lavoriamo nel terzo esempio per i nostri dati come segue.

Codice:

 Sub Sample2 () End Sub 

Passaggio 2: attiva il foglio di lavoro 1 in modo da poterne utilizzare le proprietà.

Codice:

 Fogli di lavoro sub campione2 () ("Foglio1"). Attiva fine sottotitolo 

Passaggio 3: dichiarare due variabili una come numero intero che verrà utilizzato per il ciclo e una come stringa che verrà utilizzata per memorizzare il risultato del confronto.

Codice:

 Sub Sample2 () Fogli di lavoro ("Foglio1"). Attiva Dim A come intero Dim B come stringa Fine Sottotitoli 

Passaggio 4: scrivere il codice seguente per confrontare e utilizzare il ciclo for.

Codice:

 Sub Sample2 () Fogli di lavoro ("Foglio1"). Attiva Dim A come intero Dim B come stringa per A = 2 a 5 B = StrComp (Cells (A, 1) .Value, Cells (A, 2) .Value, vbBinaryCompare) Se B = 0, quindi Celle (A, 3) .Valore = "Uguale" Altre celle (A, 3) .Valore = "NON uguale" Fine Se successivo A Fine Sottotitolo 

Passaggio 5: eseguire il codice precedente e vedere il risultato nel foglio 1 come segue.

Nessuna delle stringhe era uguale nel confronto.

Cose da ricordare

  • Questa è una funzione di confronto.
  • Restituisce 0, 1, -1 o NULL come risultato non vero o falso.
  • Se non forniamo nessuno dei metodi di confronto, per impostazione predefinita il metodo di confronto è VbBinaryCompare.
  • Il metodo di confronto è un argomento facoltativo per questa funzione.

Articoli consigliati

Questa è una guida a VBA StrComp. Qui discutiamo come usare la funzione StrComp VBA di Excel insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. VBA InStr spiegato con esempi
  2. Tipo di dati intero VBA
  3. Come selezionare la cella usando il codice VBA?
  4. Trasponi un intervallo in VBA
  5. Fogli di lavoro VBA (esempi)

Categoria: