Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Código VBA para retirar dois caracteres de um número
-
- Colaborador
- Mensagens: 49
- Registrado em: Ter Nov 13, 2012 6:44 pm
Código VBA para retirar dois caracteres de um número
Olá,
Tenho uma planilha com 5000 linhas com números que iniciam com dois zeros e possuem mais 18 caracteres (ex: 00343567542788905412). Preciso de um código VBA para retirar os dois zeros da coluna inteira, ou seja, das 5000 linhas, e deixar somente os 18 caracteres seguintes (ex: 343567542788905412). Alguém pode me ajudar?
Abs!
Marco.
Tenho uma planilha com 5000 linhas com números que iniciam com dois zeros e possuem mais 18 caracteres (ex: 00343567542788905412). Preciso de um código VBA para retirar os dois zeros da coluna inteira, ou seja, das 5000 linhas, e deixar somente os 18 caracteres seguintes (ex: 343567542788905412). Alguém pode me ajudar?
Abs!
Marco.
Re: Código VBA para retirar dois caracteres de um número
Marco,
Não é preciso VBA, se for o caso. Tente esta fórmula:
Testei aqui com número com vários zeros a esquerda e funcionou. Só haverá problemas se os números tiverem muitos zeros à direita.
Abraços
Não é preciso VBA, se for o caso. Tente esta fórmula:
Código: Selecionar todos
=TIRAR(SUBSTITUIR(ARRUMAR(SUBSTITUIR(A1 & CARACT(9);"0";" "));" ";"0"))
Abraços
-
- Colaborador
- Mensagens: 14
- Registrado em: Ter Jul 02, 2013 4:25 pm
Re: Código VBA para retirar dois caracteres de um número
Olá amigo,
Se os números tiverem sempre as mesmas quantidades de caracteres, creio que isso pode ajudar:
Sub RetirarZeros()
L = 1
Do
If Sheets("Plan1").Cells(L, 1).Value <> "" Then
NovoValor = Mid(Sheets("Plan1").Cells(L, 1).Value, 3, 20)
Sheets("Plan1").Cells(L, 1).Value = NovoValor
L = L + 1
Else
Parar = 1
End If
Loop Until Parar = 1
End Sub
Valeu..
Nei.
Se os números tiverem sempre as mesmas quantidades de caracteres, creio que isso pode ajudar:
Sub RetirarZeros()
L = 1
Do
If Sheets("Plan1").Cells(L, 1).Value <> "" Then
NovoValor = Mid(Sheets("Plan1").Cells(L, 1).Value, 3, 20)
Sheets("Plan1").Cells(L, 1).Value = NovoValor
L = L + 1
Else
Parar = 1
End If
Loop Until Parar = 1
End Sub
Valeu..
Nei.
Editado pela última vez por Nei Stolberg em Qui Jul 25, 2013 2:27 pm, em um total de 1 vez.
Re: Código VBA para retirar dois caracteres de um número
Marco,
Cheguei num código aqui que deve resolver:
Abraços
Cheguei num código aqui que deve resolver:
Código: Selecionar todos
Public Function RemoverZerosEsquerda(ByVal textoCelula As String) As String
'converte em array
Dim caracteresCelula() As String
caracteresCelula = Split(StrConv(textoCelula, vbUnicode), Chr$(0))
ReDim Preserve caracteresCelula(UBound(caracteresCelula) - 1)
'conta quantos zeros têm no começo
Dim zeros As Integer
zeros = 0
For Each c In caracteresCelula
If c = "0" Then
zeros = zeros + 1
Else
'quando não achar mais, pára
Exit For
End If
Next c
RemoverZerosEsquerda = Right(textoCelula, Len(textoCelula) - zeros)
End Function
-
- Colaborador
- Mensagens: 49
- Registrado em: Ter Nov 13, 2012 6:44 pm
Re: Código VBA para retirar dois caracteres de um número
Perfeito!!! Grato!!!
Nei Stolberg escreveu:Olá amigo,
Se os números tiverem sempre as mesmas quantidades de caracteres, creio que isso pode ajudar:
Sub RetirarZeros()
L = 1
Do
If Sheets("Plan1").Cells(L, 1).Value <> "" Then
NovoValor = Mid(Sheets("Plan1").Cells(L, 1).Value, 3, 20)
Sheets("Plan1").Cells(L, 1).Value = NovoValor
L = L + 1
Else
Parar = 1
End If
Loop Until Parar = 1
End Sub
Valeu..
Nei.
-
- Colaborador
- Mensagens: 49
- Registrado em: Ter Nov 13, 2012 6:44 pm
Re: Código VBA para retirar dois caracteres de um número
Muito obrigado!!!!!!!!!!
webmaster escreveu:Marco,
Cheguei num código aqui que deve resolver:
AbraçosCódigo: Selecionar todos
Public Function RemoverZerosEsquerda(ByVal textoCelula As String) As String 'converte em array Dim caracteresCelula() As String caracteresCelula = Split(StrConv(textoCelula, vbUnicode), Chr$(0)) ReDim Preserve caracteresCelula(UBound(caracteresCelula) - 1) 'conta quantos zeros têm no começo Dim zeros As Integer zeros = 0 For Each c In caracteresCelula If c = "0" Then zeros = zeros + 1 Else 'quando não achar mais, pára Exit For End If Next c RemoverZerosEsquerda = Right(textoCelula, Len(textoCelula) - zeros) End Function
-
- Colaborador
- Mensagens: 49
- Registrado em: Ter Nov 13, 2012 6:44 pm
Re: Código VBA para retirar dois caracteres de um número
Obrigado!!!!!!!!!!
webmaster escreveu:Marco,
Não é preciso VBA, se for o caso. Tente esta fórmula:
Testei aqui com número com vários zeros a esquerda e funcionou. Só haverá problemas se os números tiverem muitos zeros à direita.Código: Selecionar todos
=TIRAR(SUBSTITUIR(ARRUMAR(SUBSTITUIR(A1 & CARACT(9);"0";" "));" ";"0"))
Abraços