Página 1 de 1

Separar dados de uma linha em duas colunas

Enviado: 08 Abr 2020 às 11:43
por JCabral
Boa tarde

Tenho um conjunto grande de dados no seguinte formato - Andorra (24) - e gostaria de separar em duas colunas -| Andorra | 24 |;

Alguma ajuda com o código para fazer isso?

Obrigado
Stay safe, stay home

Re: Separar dados de uma linha em duas colunas

Enviado: 08 Abr 2020 às 18:12
por osvaldomp
Olá, Jorge.

Queres solução por macro ou por UDF ?

Queres o resultado como colocastes no exemplo, nas colunas B:C ou queres manter só o texto na A e inserir só os números na B ?

保持安全,待在家里
Bǎochí ānquán, dài zài jiālǐ

Separar dados de uma linha em duas colunas

Enviado: 08 Abr 2020 às 18:53
por JCabral
Boa noite Osvaldo

Gostava que fosse macro e que o resultado estivesse em B e C, embora tenho muita curiosidade em saber como ficaria o código mantendo texto em A e o número em B;

Obrigado
Jorge

Re: Separar dados de uma linha em duas colunas

Enviado: 08 Abr 2020 às 19:41
por osvaldomp
Olá, Jorge.
Seguem as duas soluções.
Código: Selecionar todos
Sub TextoEmBNúmeroEmC()
 Dim c As Range
  For Each c In Range("A2:A" & Cells(Rows.Count, 1).End(3).Row)
   c.Offset(, 1).Value = Left(c.Value, InStr(1, c.Value, "(") - 2)
   c.Offset(, 2).Value = Mid(c.Value, InStr(1, c.Value, "(") + 1, InStrRev(c.Value, ")") - InStr(1, c.Value, "(") - 1)
  Next c
End Sub
Código: Selecionar todos
Sub TextoEmANúmeroEmB()
 Dim c As Range
  For Each c In Range("A2:A" & Cells(Rows.Count, 1).End(3).Row)
   c.Offset(, 1).Value = Mid(c.Value, InStr(1, c.Value, "(") + 1, InStrRev(c.Value, ")") - InStr(1, c.Value, "(") - 1)
   c.Value = Left(c.Value, InStr(1, c.Value, "(") - 2)
  Next c
End Sub

Separar dados de uma linha em duas colunas

Enviado: 08 Abr 2020 às 19:59
por JCabral
Fantástico Osvaldo

Muito Obrigado
Jorge
Stay safe, stay home