Questo tutorial dimostrerà come utilizzare la funzione CLng VBA per convertire un'espressione nel tipo di dati long integer.
Funzione CLng
VBA CLng Converti espressione in Long
La funzione VBA CLng può essere utilizzata per convertire le espressioni in un tipo di dati lungo all'interno del codice VBA.
123456 | Sub CLngEsempio_1()MsgBox CLng(12.34) 'Il risultato è: 12MsgBox CLng(12.345) 'Il risultato è: 12MsgBox CLng(-124) 'Il risultato è: -124MsgBox CLng(-12.34) 'Il risultato è: -12Fine sottotitolo |
Arrotondamento VBA CLng
La funzione VBA CLng arrotonderà la parte decimale di un tipo di numero o di un'espressione simile a un numero. Tuttavia, non arrotonda correttamente in tutti i casi. Quando la parte decimale è 0,5, la funzione VBA CLng restituisce l'intero pari più vicino.
1234567891011 | Sub CLngEsempio_2()MsgBox CLng(0.34) 'Il risultato è: 0MsgBox CLng(0.99) 'Il risultato è: 1MsgBox CLng(-124.95) 'Il risultato è: -125MsgBox CLng(1.5) 'Il risultato è: 2MsgBox CLng(2.5) 'Il risultato è: 2Fine sottotitolo |
Possiamo aggiungere un numero decimale relativamente piccolo al nostro valore decimale previsto per modificare il comportamento della funzione CLng VBA nel previsto.
1234567891011 | Sub CLngEsempio_3()MsgBox CLng(2.5)'Il risultato è: 2MsgBox CLng (2,5 + 0,001)'Il risultato è: 3MsgBox CLng(14.5)'Il risultato è: 14MsgBox CLng(14,5 + 0,001)'Il risultato è: 15Fine sottotitolo |
Programmazione VBA | Il generatore di codice funziona per te!
VBA CLng Conversione di stringhe in lunghe
La funzione VBA CLng può essere utilizzata per convertire le stringhe in long se i caratteri nella stringa hanno un significato come numeri.
123456789101112131415161718 | Sub CLngEsempio_4()Dim StrEx As StringStrEx = "112"MsgBox CLng(StrEx)"Il risultato è: 112"StrEx = "112.3"MsgBox CLng(StrEx)"Il risultato è: 112 112,3 è arrotondato"StrEx = "11,2"MsgBox CLng(StrEx)'Il risultato è: 112 , viene ignoratoStrEx = "$ 112"MsgBox CLng(StrEx)'Il risultato è: 112 $ viene ignoratoFine sottotitolo |
Errore di runtime VBA CLng 13 Tipo non corrispondente
L'utilizzo della funzione VBA CLng con stringhe che contengono caratteri non numerici o caratteri che non hanno significato nel contesto numerico si tradurrà in un errore di runtime '13': tipo mancata corrispondenza.
1234567 | Sub CLngEsempio_5()'Il codice seguente risulterà in un messaggio di ERRORE'CLng non può gestire caratteri non numericiDim StrEx As StringStrEx = "Ab13"MsgBox CLng(StrEx)Fine sottotitolo |
VBA CLng Errore di runtime 6 Overflow
L'utilizzo della funzione VBA CLng con stringhe che generano un valore più piccolo o più grande dell'intero previsto si tradurrà in un errore di runtime '6': Overflow. Il tipo di dati intero in Excel ha un valore previsto compreso tra -2.147.483.648 e 2.147.483.647.
1234567 | Sub CLngEsempio_6()'Il codice seguente risulterà in un messaggio di ERRORE"CLng non può gestire caratteri non numerici"Dim StrEx As StringStrEx = "2147483648"MsgBox CLng(StrEx)Fine sottotitolo |
Stanco di cercare esempi di codice VBA? Prova AutoMacro!
VBA CLng Impostazioni regionali
La funzione VBA CLng ha un comportamento diverso convertendo le stringhe con virgola o punto. Utilizza le Impostazioni internazionali del sistema operativo per il separatore decimale e il separatore di cifre.
12345678910111213141516 | Sub CLngEsempio_7()Dim StrEx As StringStrEx = "1,9"MsgBox CLng(StrEx)'Se le impostazioni internazionali hanno , come separatore di raggruppamento allora'Il risultato è: 19'Se le impostazioni regionali hanno , come separatore decimale allora'Il risultato è: 2 (2 perché 1.9 viene arrotondato)StrEx = "1.9"MsgBox CLng(StrEx)'Se le impostazioni regionali hanno . come separatore di raggruppamento quindi'Il risultato è: 19'Se le impostazioni regionali hanno . come separatore decimale allora'Il risultato è: 2 (2 perché 1.9 viene arrotondato)Fine sottotitolo |
Programmazione VBA | Il generatore di codice funziona per te!
VBA CLng Conversione da booleani a long
La funzione VBA CLng può convertire le variabili booleane in long. Se l'espressione valutata è vera il long risultante è -1 e se l'espressione valutata è falsa il long risultante è 0.
1234567891011121314 | Sub CLngEsempio_8()Dim BoolEx As BooleanBoolEx = TrueMsgBox CLng(BoolEx)'Il risultato è: -1MsgBox CLng(2 = 2)'Il risultato è: -1BoolEx = FalseMsgBox CLng(BoolEx)'Il risultato è: 0MsgBox CLng(1 = 2)'Il risultato è: 0Fine sottotitolo |
VBA CLng Conversione di date in long
La funzione VBA CLng può convertire una variabile di data in una variabile long. Il valore restituito è il numero interno utilizzato da excel per l'archiviazione della data arrotondata. Se quel numero è al di fuori dei limiti lunghi previsti per VBA, viene visualizzato un errore di runtime "6": Overflow.
123456789101112 | Sub CLngEsempio_9()Dim DateEx come dataDataEx = #2/3/1940#MsgBox CLng(DateEx)"Il risultato è: 14644"DataEx = #8/7/1964#MsgBox CLng(DateEx)"Il risultato è: 23596"DateEx = #3/7/1934 11:32:04 AM#MsgBox CLng(DateEx)'Il risultato è: 12485Fine sottotitolo |