Separar numeros de dentro de um texto - JJoão (07/2007)
Dúvida: "Necessitava de algo que me separe o nº de um registo de dados com texto e nº, como o exemplo abaixo anexo:
|
Coluna A |
Coluna B |
1 |
mario 254 claro |
|
Texto misto é uma coluna de excel que tenho com uma grande quantidade de registos, todos têm texto e nº como o exemplo, não sendo o nº de caracteres iguais em todos eles.
Objectivo : colocar na coluna B, apenas o nº que está na coluna A.
Muito obrigado
Solução: Macro que separa o texto dos numeros e os vai colocando nas colunas ao lado.
Aa macro não passa só um conjunto de numero mas sim todos os que encontrar, colocando-os nas colunas ao lado.
Para que funcione deve ser selecionado as celulas preenchidas da coluna A (neste caso) .
Exemplo após a execução da macro:
|
Coluna A |
Coluna B |
Coluna C |
1 |
mario 254 claro |
254 |
|
2 |
mario 254 claro 123,45 |
254 |
123,45 |
Sub RecolheNumeros()
Dim n
Dim i As Integer, nIndex As Integer
Dim celula As Range
For Each celula In Selection
nIndex = 0
n = Split(celula.Text, " ")
For i = 0 To UBound(n)
If IsNumeric(n(i)) Then
nIndex = nIndex + 1
celula.Offset(0, nIndex).Value = Round(n(i), 2)
End If
Next i
Next celula
End Sub
A macro não deve ser usado numa selecção com mais do que 1 coluna, sob prejuízo de alguns dados serem sobrepostos.
|