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