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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *