Questo tutorial dimostrerà come usare la funzione CInt VBA per convertire un'espressione nel tipo di dati intero.
Funzione CInt
VBA CInt Converti espressione in intero
La funzione VBA CInt può essere utilizzata per convertire le espressioni in un tipo di dati intero all'interno del codice VBA. Il numero risultante viene arrotondato per diventare un numero intero.
123456 | Sotto CIntEsempio_1()MsgBox CInt(12.34) 'Il risultato è: 12MsgBox CInt(12.345) 'Il risultato è: 12MsgBox CInt(-124) 'Il risultato è: -124MsgBox CInt(-12.34) 'Il risultato è: -12Fine sottotitolo |
VBA CInt Arrotondamento
La funzione VBA CInt 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 CInt restituisce l'intero pari più vicino.
12345678910111213141516 | Sub CIntExample_2()MsgBox CInt(0.34)'Il risultato è: 0MsgBox CInt(0.99)'Il risultato è: 1MsgBox CInt(-124.95)'Il risultato è: -125MsgBox CInt(1.5)'Il risultato è: 2MsgBox CInt(2.5)'Il risultato è: 2Fine sottotitolo |
Possiamo aggiungere un numero decimale relativamente piccolo al nostro valore decimale previsto per modificare il comportamento della funzione Cint VBA nel previsto.
1234567891011 | Sub CIntExample_3()MsgBox CInt(2.5)'Il risultato è: 2MsgBox CInt(2,5 + 0,001)'Il risultato è: 3MsgBox CInt(14.5)'Il risultato è: 14MsgBox CInt(14,5 + 0,001)'Il risultato è: 15Fine sottotitolo |
Programmazione VBA | Il generatore di codice funziona per te!
VBA CInt Conversione di stringhe in numeri interi
La funzione VBA CInt può essere utilizzata per convertire stringhe in numeri interi se i caratteri nella stringa hanno un significato come numeri.
123456789101112131415161718 | Sub CIntExample_4()Dim StrEx As StringStrEx = "112"MsgBox CInt(StrEx)"Il risultato è: 112"StrEx = "112.3"MsgBox CInt(StrEx)'Il risultato è: 112 --> 112,3 è arrotondatoStrEx = "11,2"MsgBox CInt(StrEx)'Il risultato è: 112 --> , viene ignoratoStrEx = "$ 112"MsgBox CInt(StrEx)'Il risultato è: 112 --> $ viene ignoratoFine sottotitolo |
Errore di runtime di VBA CInt 13 Tipo non corrispondente
L'utilizzo della funzione VBA Cint 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 CIntExample_5()'Il codice seguente risulterà in un messaggio di ERRORE'CInt non può gestire caratteri non numericiDim StrEx As StringStrEx = "Ab13"MsgBox CInt(StrEx)Fine sottotitolo |
VBA CInt Errore di runtime 6 Overflow
L'utilizzo della funzione VBA Cint 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 -32768 e 32767.
1234567 | Sub CIntExample_6()'Il codice seguente risulterà in un messaggio di ERRORE'CInt non può gestire caratteri non numericiDim StrEx As StringStrEx = "1234567"MsgBox CInt(StrEx)Fine sottotitolo |
Stanco di cercare esempi di codice VBA? Prova AutoMacro!
VBA CInt Impostazioni regionali
La funzione VBA CInt 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 CIntExample_7()Dim StrEx As StringStrEx = "1,9"MsgBox CInt(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 CInt(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 CInt Conversione da booleani a interi
La funzione VBA Cint può convertire le variabili booleane in numeri interi. Se l'espressione valutata è vera, l'intero risultante è -1 e se l'espressione valutata è falsa, l'intero risultante è 0.
12345678910 | Sub CIntExample_8()Dim BoolEx As BooleanBoolEx = TrueMsgBox CInt(BoolEx) 'Il risultato è: -1MsgBox CInt(2 = 2) 'Il risultato è: -1BoolEx = FalseMsgBox CInt(BoolEx) 'Il risultato è: 0MsgBox CInt(1 = 2) 'Il risultato è: 0Fine sottotitolo |
VBA CInt Conversione di date in numeri interi
La funzione VBA Cint può convertire una variabile di data in un numero intero. Il valore restituito è il numero interno utilizzato da excel per l'archiviazione della data arrotondata. Se quel numero è al di fuori dei limiti interi previsti per VBA, otteniamo un errore di runtime "6": Overflow.
123456789 | Sub CIntExample_9()Dim DateEx come dataDataEx = #2/3/1940#MsgBox CInt(DateEx)"Il risultato è: 14644"DataEx = #8/7/1964#MsgBox CInt(DateEx)"Il risultato è: 23596"Fine sottotitolo |