Notifications
Clear all

Extrair numeros antes e depois de um caractere

5 Posts
3 Usuários
0 Reactions
1,181 Visualizações
(@kausreche)
Posts: 2
New Member
Topic starter
 

Boa noite pessoal.

Sou novo por aqui, gosto bastante de estudar a partir desse forum, e hoje estou com uma dificuldade que não consigo sanar.

em minha planilha eu possuo valores para financiamentos, ou seja, as parcelas.

preciso de uma macro que separe os numeros em duas celulas diferentes, exemplo:

A1 B1 C1
130 x 1.538,00 130 1.538,00
98 x 10.358,00 98 10.358,00

Preciso que a macro jogue os numeros antes do x na celula a1, para a celula b1, e os numeros após o x para a celula c1

no momento estou usando as funções =direito, e =esquerdo, mas não ficam tão boas,

desde já agradeço

 
Postado : 19/01/2017 6:03 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Na falta de um modelo e alguns detalhes, vou por suposição:

Na rotina abaixo estou considerando que os dados estão na Plan1, iniciando em "A1"

Sub sPlit_Valores()
    Dim n
    Dim i As Integer, nIndex As Integer
    Dim celula
    Dim UltimaLinha As Long
    Dim iLin
    Dim sCol
    
    iLin = 1
    
    UltimaLinha = Sheets("Plan1").Cells(Cells.Rows.Count, 1).End(xlUp).Row
    
    Set srg = Range("A1" & ":" & "A" & UltimaLinha)
    
    For Each x In srg
        sCol = 2
        celula = x
    
        With celula
          
          nIndex = 0
          n = Split(celula, " x ")
          
             For i = 0 To UBound(n)
              
                 If IsNumeric(n(i)) Then
                      nIndex = nIndex + 1
                      id = Round(n(i), 2)
                      
                      Cells(iLin, sCol).Value = id
                      sCol = sCol + 1
                 End If
            
             Next i
    
            iLin = iLin + 1
    
        End With
    
    Next
    
End Sub

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 19/01/2017 7:13 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Uma outra possibilidade é utilizar a função "Texto para Colunas" no menu Dados.
Selecione a coluna A, va em Dados -->Texto Para colunas/ na tela que se abre selecione o Radio ~Delimitado, clique em avançar, em delimitadores va em Outros e digite x; clique em concluir

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 19/01/2017 7:17 pm
DJunqueira
(@djunqueira)
Posts: 772
Prominent Member
 

Vc tb poderia utilizar fórmulas um pouco mais sofisticadas:

Coluna B
=ARRUMAR(ESQUERDA(SUBSTITUIR(A2;"x";REPT(" ";20));10))

Coluna C
=ARRUMAR(DIREITA(SUBSTITUIR(A2;"x";REPT(" ";20));30))

Se sua dúvida foi respondida marque o tópico como RESOLVIDO usando o botão com marca verde.

 
Postado : 20/01/2017 3:44 am
(@kausreche)
Posts: 2
New Member
Topic starter
 

Muito obrigado a todos, uma coisa tão simples :( kk

valeu

 
Postado : 25/01/2017 5:05 pm