Impedisci la distinzione tra maiuscole e minuscole di VBA - Opzione Confronta testo

Quando si lavora in VBA, è spesso necessario confrontare le stringhe. Per impostazione predefinita, VBA fa distinzione tra maiuscole e minuscole, quindi se confronti due stessi testi e uno di essi è in maiuscolo e l'altro in minuscolo, VBA li considererà come testi diversi. In questo tutorial, vedrai come impedire a VBA di fare distinzione tra maiuscole e minuscole.

Rendere insensibile alle maiuscole e minuscole di VBA

Per rendere VBA insensibile alle maiuscole, devi mettere Opzione Confronta testo all'inizio del modulo. Innanzitutto, esamineremo il comportamento VBA standard senza questa opzione impostata. Questo è il codice:

123456789 If Sheet1.Range("A1").Value = Sheet1.Range("B1").Value ThenMsgBox "Due testi sono uguali"AltroMsgBox "Due testi sono diversi"Finisci se

Nell'esempio, vogliamo confrontare le stringhe di A1 e B1. Se le stringhe sono uguali, restituiremo la finestra di messaggio con il messaggio "Due testi sono uguali". Se non sono uguali, restituiremo il messaggio “Due testi sono diversi.

Immagine 1. Confronto delle stringhe senza l'opzione Confronta testo

Come puoi vedere nell'immagine, entrambi i testi sono uguali, ma il primo è in maiuscolo, mentre il secondo è in minuscolo. Per questo motivo, VBA li considera diversi e ha restituito questo messaggio.

1234567891011 Opzione Confronta testoPublic Sub CaseSensitiveTest()If Sheet1.Range("A1").Value = Sheet1.Range("B1").Value ThenMsgBox "Due testi sono uguali"AltroMsgBox "Due testi sono diversi"Finisci seFine sottotitolo

Ora aggiungeremo l'opzione Confronta testo all'inizio del modulo e vedremo la differenza. Ecco il codice. Eseguiamo il codice sullo stesso esempio:

Immagine 2. Confronto delle stringhe con l'opzione Confronta testo

Ora, quando l'opzione Confronta testo è impostata, il VBA non fa distinzione tra maiuscole e minuscole e considera questi due testi uguali.

Testo a confronto

Se non dichiari Opzione Confronta testo, puoi convertire i casi di stringa per effettuare confronti senza distinzione tra maiuscole e minuscole. Ciò è possibile tramite la funzione UCase, LCase o StrConv. Puoi saperne di più su questo qui: VBA Upper, Lower, and Proper Case - Case Functions

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave