Questo tutorial dimostrerà come utilizzare la funzione Len VBA per ottenere la lunghezza di una stringa.
Funzione lente
La funzione VBA Len restituisce la lunghezza di una stringa specificata.
Personaggi VBA Len Count
La funzione VBA Len conta i caratteri in una stringa.
1234567891011121314151617 | Sub LenEsempio_1()MsgBox Len("12345") 'Il risultato è: 5MsgBox Len("12") 'Il risultato è: 2MsgBox Len("1") 'Il risultato è: 1MsgBox Len(" ") 'Il risultato è: 1'C'è un carattere spaziale lì dentro.MsgBox Len("") 'Il risultato è: 0MsgBox Len("AB Cd") 'Il risultato è: 5Fine sottotitolo |
Corde o varianti per lenti VBA
La funzione VBA Len può contare il numero di caratteri nelle variabili dichiarate come stringhe o varianti. In realtà, VBA Len tratterà una variante come una stringa. Se VBA Len viene utilizzato con un numero intero, lungo, singolo o doppio, VBA Len conterà il numero di byte necessari per memorizzare la variabile.
123456789101112131415161718192021222324252627282930313233 | Sub LenEsempio_2()Dim VarEx1 As StringVarEx1 = 12345MsgBox Len(VarEx1) 'Il risultato è: 5'Len sta contando il numero di caratteri nella variabileDim VarEx2 come varianteVarEx2 = 12345MsgBox Len(VarEx2) 'Il risultato è: 5'Len sta contando il numero di caratteri nella variabileDim VarEx3 As IntegerVarEx3 = 12345MsgBox Len(VarEx3) 'Il risultato è: 2'Len sta contando il numero di byte usati per memorizzare la variabileDim VarEx4 As LongVarEx4 = 12345MsgBox Len(VarEx4) 'Il risultato è: 2'Len sta contando il numero di byte usati per memorizzare la variabileDim VarEx5 come singoloVarEx5 = 12345MsgBox Len(VarEx5) 'Il risultato è: 2'Len sta contando il numero di byte usati per memorizzare la variabileDim VarEx6 As DoubleVarEx6 = 12345MsgBox Len(VarEx6) 'Il risultato è: 2'Len sta contando il numero di byte usati per memorizzare la variabileFine sottotitolo |
VBA Len Conta le occorrenze di un personaggio
La funzione VBA Len può essere utilizzata con la funzione VBA Replace per contare quante volte un carattere viene trovato in una stringa.
La funzione di sostituzione VBA può sostituire una sottostringa con un'altra sottostringa in un testo:
1 | MsgBox Replace("XBCX", "X", "7") 'Il risultato è: "7BC7" |
Possiamo usare Sostituisci per rimuovere i caratteri che vogliamo contare con "" e quindi trovare la differenza di lunghezza prima e dopo la sostituzione.
1234567891011121314 | Sub LenEsempio_3()Dim StrEx As String 'Definisci una variabile stringaStrEx = "Jack, John, Jim, Jordan"MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Il risultato è: 3'Scomporre il codice sopraMsgBox Len(StrEx) 'Il risultato è: 20MsgBox Replace(StrEx, ",", "") 'Il risultato è: "JackJohnJimJordan"MsgBox Len(Replace(StrEx, ",", "")) 'Il risultato è: 17MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Il risultato è: 20-17=3Fine sottotitolo |
VBA Len Count occorrenze di una sottostringa
La funzione VBA Len può essere utilizzata con la funzione VBA Replace per contare quante volte viene trovata una sottostringa in una stringa.
La funzione di sostituzione VBA può sostituire una sottostringa con un'altra sottostringa in un testo:
1 | MsgBox Replace("XB cX", "X", "7") 'Il risultato è: "7B c7" |
Possiamo usare Sostituisci per rimuovere le sottostringhe che vogliamo contare con "" e quindi trovare la differenza di lunghezza prima e dopo la sostituzione. Infine, dobbiamo dividere la differenza con la lunghezza della sottostringa che abbiamo sostituito.
12345678910111213141516171819 | Sub LenEsempio_4()Dim StrEx As String 'Definisci una variabile stringaStrEx = "Jack, John, Jim, Jordan"Dim SubStr As String 'Definisci una variabile sottostringaSubStr = ", "'Troveremo quante volte SubStr viene trovato all'interno di StrExMsgBox (Len(StrEx) - Len(Replace(StrEx, SubStr, ""))) / Len(SubStr) 'Il risultato è: 3'Scomporre il codice sopraMsgBox Len(StrEx) 'Il risultato è: 23MsgBox Replace(StrEx, SubStr, "") 'Il risultato è: "JackJohnJimJordan"MsgBox Len(Replace(StrEx, SubStr, "")) 'Il risultato è: 17MsgBox Len(StrEx) - Len(Replace(StrEx, SubStr, "")) 'Il risultato è: 23-17=6MsgBox (Len(StrEx) - Len(Replace(StrEx, SubStr, ""))) / Len(SubStr)'Il risultato è: (23-17)/2=3Fine sottotitolo |