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:
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