Questo tutorial dimostrerà come utilizzare i caratteri jolly in VBA.
I caratteri jolly vengono utilizzati in tutti i linguaggi di programmazione e applicazioni di database come SQL Server. Un carattere jolly può essere definito come un simbolo utilizzato per sostituire uno o più caratteri in una stringa di testo. Ad esempio questa stringa di testo - “mo*” - troverà le parole mamma, topo, alce, mamma ecc; mentre questa stringa di testo "mo?" troverà solo la parola mamma come jolly? sostituisce un solo carattere.
Usiamo i caratteri jolly con l'operatore Like che è un'alternativa più semplice a VBA Regex.
Utilizzo del carattere jolly Asterix (*) in VBA
Il carattere jolly Asterix sostituisce uno o più caratteri in una stringa VBA.
Diamo un'occhiata al seguente intervallo di celle in Excel:
Utilizzando un carattere jolly Asterix nel nostro codice VBA, possiamo trovare tutti i nomi che iniziano con "M" e cambiare il colore del testo in rosso.
12345678 | Sub CheckForM()Dim x As IntegerPer x = da 3 a 8If Range("B" & x).Value Like "M*" ThenIntervallo("B" & x).Font.Color = vbRedFinisci seAvanti xFine sottotitolo |
Abbiamo quindi passato in rassegna l'intervallo e abbiamo trovato tutti i nomi che iniziano con la lettera M poiché la nostra stringa jolly è "M*”
Il risultato dell'esecuzione del codice precedente è mostrato di seguito.
Se dovessimo usare la stringa jolly "Ma*" - allora cambierebbero solo i primi nomi in B3 e B4.
Utilizzo del carattere jolly punto interrogativo (?) in VBA
Il punto interrogativo sostituirà un singolo carattere in una stringa VBA.
Considera i seguenti dati:
Possiamo usare la stringa jolly "?im" per trovare i nomi che terminano in "im"
12345678 | Sub CheckForIM()Dim x As IntegerPer x = da 3 a 8If Range("B" & x).Value Like "?im" ThenIntervallo("B" & x).Font.Color = vbRedFinisci seAvanti xFine sottotitolo |
Il risultato dell'esecuzione di questo codice è mostrato di seguito:
Utilizzo di [elenco di caratteri] come carattere jolly
L'esempio sopra può essere leggermente modificato per consentirci di utilizzare il punto interrogativo, oltre a un elenco di caratteri consentiti. La stringa jolly può quindi essere modificata in "?[e-i]m" dove il primo carattere può essere qualsiasi cosa, il secondo carattere deve essere un carattere compreso tra e e i e l'ultima lettera deve essere il carattere "m". Sono consentiti solo 3 caratteri.
12345678 | Sub CharListTest()Dim x As IntegerPer x = da 3 a 8If Range("B" & x).Value Like "?[e-i]m" ThenIntervallo("B" & x).Font.Color = vbRedFinisci seAvanti xFine sottotitolo |
Il risultato di questo codice sarebbe:
Programmazione VBA | Il generatore di codice funziona per te!
Utilizzo del carattere jolly cancelletto (#) in VBA
Il carattere jolly hash (#) sostituisce una singola cifra in una stringa VBA. Possiamo abbinare tra 0 e 9.
12345678910 | Sub CheckForNumber()Dim x As Integer, y As IntegerPer x = da 3 a 8Per y = da 2 a 5Se ActiveSheet.Cells(x, y) come "##" alloraActiveSheet.Cells(x, y).Font.Color = vbRedFinisci seAvanti sìAvanti xFine sottotitolo |
Il codice sopra scorrerà tutte le celle nell'intervallo ("B3: E8") e cambierà il colore del testo in una cella in ROSSO se viene trovato un numero a due cifre in quella cella.
Nell'esempio seguente, il codice cambierà il numero solo se l'ultimo numero è un 9.
12345678910 | Sotto CheckFor9()Dim x As Integer, y As IntegerPer x = da 3 a 8Per y = da 2 a 5Se ActiveSheet.Cells(x, y) come "#9" alloraActiveSheet.Cells(x, y).Font.Color = vbRedFinisci seAvanti sìAvanti xFine sottotitolo |