Come convertire una stringa in lunga in vba (con esempi)


È possibile utilizzare la funzione CLng in VBA per convertire una stringa di testo in un tipo di dati lungo.

Ecco due modi comuni per utilizzare questa funzionalità nella pratica:

Metodo 1: converti String in Long in VBA

 Sub ConvertStringToLong ()

    Dim i As Integer

    For i = 2 To 11
        Range(" B " & i) = CLng(Range(" A " & i))
    Next i

End Sub

Questa particolare macro convertirà ogni stringa nell’intervallo A2:A11 in un tipo di dati lungo e visualizzerà valori lunghi nell’intervallo B2:B11 .

Metodo 2: converti una stringa in lunga in VBA (solo se la stringa è un numero)

 Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CLng(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 tipo di dati lungo 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 una stringa in Long 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 tipo di dati lungo e visualizzarla nella colonna B.

Per fare ciò possiamo creare la seguente macro:

 Sub ConvertStringToLong ()

    Dim i As Integer

    For i = 2 To 11
        Range(" B " & i) = CLng(Range(" A " & i))
    Next i

End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

VBA converte la stringa in lunga

Tieni presente che ogni stringa di testo nella colonna A è stata convertita in un tipo di dati lungo e viene visualizzata nella colonna B.

Esempio 2: converti una stringa in long 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 tipo di dati lungo solo se la stringa è un numero e visualizzarli nella colonna B.

Per fare ciò possiamo creare la seguente macro:

 Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CLng(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 tipi di dati lunghi 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 CLng .

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 *