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


Você pode usar a função CInt no VBA para converter uma string de texto em um número inteiro.

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

Método 1: converter string em inteiro em VBA

 Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

Esta macro específica converterá cada string no intervalo A2:A11 em um número inteiro e exibirá os números inteiros no intervalo B2:B11 .

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

 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

Esta macro específica converterá cada string no intervalo A2:A11 em um número inteiro 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 String em Inteiro 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 inteiro e exibir os inteiros na coluna B.

Podemos criar a seguinte macro para fazer isso:

 Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

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

Observe que cada sequência de texto na coluna A foi convertida em um número inteiro e é exibida na coluna B.

Exemplo 2: Converter uma String em Inteiro em 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 inteiro apenas se a string for um número e exibir os inteiros na coluna B.

Podemos criar a seguinte macro para fazer isso:

 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 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 números inteiros 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 Cint 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 *