Come convertire una stringa in numero intero in vba (con esempi)
È possibile utilizzare la funzione CInt in VBA per convertire una stringa di testo in un numero intero.
Ecco due modi comuni per utilizzare questa funzionalità nella pratica:
Metodo 1: converti stringa in numero intero in VBA
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
Questa particolare macro convertirà ogni stringa nell’intervallo A2:A11 in un numero intero e visualizzerà i numeri interi nell’intervallo B2:B11 .
Metodo 2: converti stringa in numero intero in VBA (solo se la stringa è un numero)
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Questa particolare macro convertirà ogni stringa nell’intervallo A2:A11 in un numero intero solo se la stringa è un numero. In caso contrario, la stringa verrà convertita in un valore nullo.
Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.
Esempio 1: converti stringa in numero intero in VBA
Supponiamo di avere la seguente colonna di valori in Excel, attualmente formattata come stringhe di testo:
Supponiamo di voler convertire ogni stringa in un numero intero e visualizzare gli interi nella colonna B.
Per fare ciò possiamo creare la seguente macro:
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che ogni stringa di testo nella colonna A è stata convertita in un numero intero e viene visualizzata nella colonna B.
Esempio 2: convertire una stringa in intero in VBA (solo se la stringa è un numero)
Supponiamo di avere la seguente colonna di valori in Excel, attualmente formattata come stringhe di testo:
Supponiamo di voler convertire ogni stringa in un numero intero solo se la stringa è un numero e visualizzare gli interi nella colonna B.
Per fare ciò possiamo creare la seguente macro:
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che solo le stringhe di testo nella colonna A che sono numeri vengono convertite in numeri interi nella colonna B.
Altrimenti, le stringhe di testo vengono semplicemente convertite in un valore nullo.
Nota : qui è possibile trovare la documentazione completa per la funzione VBA Cint .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come rimuovere gli spazi da una stringa
VBA: come contare le occorrenze di caratteri in una stringa
VBA: come verificare se una stringa contiene un’altra stringa