Come confrontare le stringhe in vba: con esempi
È possibile utilizzare i seguenti metodi in VBA per confrontare le stringhe:
Metodo 1: confronto tra stringhe con distinzione tra maiuscole e minuscole
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
Next i
End Sub
Questa macro eseguirà un confronto tra stringhe con distinzione tra maiuscole e minuscole tra le stringhe nelle celle corrispondenti negli intervalli A2:A10 e B2:B10 e restituirà VERO o FALSO nell’intervallo C2:C10 per indicare se le stringhe sono uguali o meno.
Metodo 2: confronto tra stringhe senza distinzione tra maiuscole e minuscole
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
Next i
End Sub
Questa macro eseguirà un confronto tra stringhe senza distinzione tra maiuscole e minuscole tra le stringhe nelle celle corrispondenti negli intervalli A2:A10 e B2:B10 .
I seguenti esempi mostrano come utilizzare nella pratica ciascun metodo con i seguenti elenchi di stringhe in Excel:
Esempio 1: confronto di stringhe con distinzione tra maiuscole e minuscole in VBA
Possiamo creare la seguente macro per eseguire un confronto di stringhe con distinzione tra maiuscole e minuscole tra ciascuna stringa corrispondente nelle colonne A e B:
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
La colonna C restituisce TRUE se le stringhe sono uguali e hanno lo stesso caso.
Altrimenti, la colonna C restituisce FALSE .
Esempio 2: confronto di stringhe senza distinzione tra maiuscole e minuscole in VBA
Possiamo creare la seguente macro per eseguire un confronto di stringhe senza distinzione tra maiuscole e minuscole tra ciascuna stringa corrispondente nelle colonne A e B:
SubCompareStrings ()
Dim i As Integer
For i = 2 To 10
Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
La colonna C restituisce TRUE se le stringhe sono uguali, indipendentemente dal caso.
La colonna C restituisce FALSE solo se le stringhe non sono uguali.
Nota : qui è possibile trovare la documentazione completa della funzione StrComp in VBA.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come sostituire i caratteri in una stringa
VBA: come rimuovere caratteri speciali da una stringa
VBA: come convertire una stringa in int