Como converter uma string em longa em vba (com exemplos)


Você pode usar a função CLng no VBA para converter uma string de texto em um tipo de dados longo.

Aqui estão duas maneiras comuns de usar esse recurso na prática:

Método 1: Converter String em Long em VBA

 Sub ConvertStringToLong ()

    Dim i As Integer

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

End Sub

Esta macro específica converterá cada string no intervalo A2:A11 em um tipo de dados longo e exibirá valores longos no intervalo B2:B11 .

Método 2: converter uma string em longa em VBA (somente se a string for um número)

 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

Esta macro específica converterá cada string no intervalo A2:A11 em um tipo de dados longo somente se a string for um número. Caso contrário, a string será convertida em um valor nulo.

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo 1: Converter uma String em Long em VBA

Digamos que temos a seguinte coluna de valores no Excel, atualmente formatada como strings de texto:

Suponha que queiramos converter cada string em um tipo de dados longo e exibi-lo na coluna B.

Podemos criar a seguinte macro para fazer isso:

 Sub ConvertStringToLong ()

    Dim i As Integer

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

End Sub

Quando executamos esta macro, recebemos a seguinte saída:

VBA converte string em longa

Observe que cada sequência de texto na coluna A foi convertida em um tipo de dados longo e é exibida na coluna B.

Exemplo 2: Converter uma string em longa no VBA (somente se a string for um número)

Digamos que temos a seguinte coluna de valores no Excel, atualmente formatada como strings de texto:

Suponha que queiramos converter cada string em um tipo de dados longo apenas se a string for um número e exibi-los na coluna B.

Podemos criar a seguinte macro para fazer isso:

 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 executamos esta macro, recebemos a seguinte saída:

Observe que apenas sequências de texto na coluna A que são números são convertidas em tipos de dados longos na coluna B.

Caso contrário, as strings de texto serão simplesmente convertidas em um valor nulo.

Nota : Você pode encontrar a documentação completa da função VBA CLng aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como remover espaços de uma string
VBA: Como contar ocorrências de caracteres em uma string
VBA: como verificar se uma string contém outra string

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *