Olá amigos, sou novo no vba mas já encontrei um problema.
Peço, de antemão, que perdoem se o erro for extremamente simples, como disse, sou novo no vba, estou aprendendo ainda e esse projeto é para estudo, ou seja, já estava pronto, estou apenas alterando com fim de aprendizagem.
o problema é o seguinte, tenho esse laço que preenche minhas colunas, e dentro deste laço pus um outro para verificar se o que está sendo colocado dentro da coluna é diferente de numero, pois quero pegar apenas números.
o codigo é esse:
Dim Linha As String
Do Until EOF(1)
Line Input #1, Linha
'Especifica o que ficará em cada coluna
rg = Left(Linha, 4)
rg.Offset(0, 0) = Mid$(Linha, 5, 12)
rg.Offset(0, 1) = Mid$(Linha, 20, 22)
rg.Offset(0, 2) = Mid$(Linha, 46, 14)
rg.Offset(0, 3) = Mid$(Linha, 65, 18)
rg.Offset(0, 4) = Mid$(Linha, 128, 5)
Dim x As Integer
For x = 1 To 5
If Mid(Linha, 128 + x, 1) <> "1" And Mid(Linha, 128 + x, 1) <> "2" And Mid(Linha, 128 + x, 1) <> "3" And Mid(Linha, 128 + x, 1) <> "4" And Mid(Linha, 128 + x, 1) <> "5" And Mid(Linha, 128 + x, 1) <> "6" And Mid(Linha, 128 + x, 1) <> "7" And Mid(Linha, 128 + x, 1) <> "8" And Mid(Linha, 128 + x, 1) <> "9" And Mid(Linha, 128 + x, 1) <> "0" Then
rg.Offset(0, 4) = Mid$(Linha, 128 + x, 5)
End If
Next x
Se eu coloco meu FOR até 4, ele funciona, se eu coloco meu for acima de 4 para de funcionar e ele captura letras também, ao invés de apenas números.
Alguém, por favor, pode iluminar minha mente?
Abraços!
Postado : 09/02/2017 1:25 pm