Ir para o conteúdo
Eduardo Lira

Como separar em diversas células dados de um endereço completo que está em apenas uma célula?

Mensagens Recomendadas

Eduardo Lira

Prezados,

Tenho uma planilha com mais de 20 mil endereços que preciso tratar para poder enviar para o meu ERP, mas todos os endereços estão numa única célula (Ex; Celula 1 = Rua Rosa Maria Prado 2289 apto 95B) e preciso que os endereços estejam divididos em células diferentes conforme as seguintes diretrizes; Célula 1 (Endereço) Rua Rosa Maria Prado, Célula 2 (Número) 2289 e Célula 3 (Complemento) Apto 95B. Será conseguem me ajudar? Não sou programador, apenas um administrador curioso que precisa dessa ajuda.... que poderá ser remunerada tb, caso consiga resolver o problema.

Abraços e obrigado!

Eduardo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Olá,

E todos os endereços estão dessa forma? (morada + numero + apto)

A opção Text To Colums (separador Data) não resolve?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Eduardo Lira

Olá, eu já tentei essa solução mas não funcionou, pois a separação por espaço que seria a "mais viável", na verdade complica ainda mais.

Os endereços são muito variáveis num universo de 20 mil nomes. Tem por exemplo Rua Ipe 98 e Av Pres, Juscelino Kubstcheck, 1245 Bloco A Torre Sul

Acho que deve ter algum script de VB que resolva. encontrei alguns mas nenhum funcionou.

Obrigado

Editado por Eduardo Lira

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

boas

veja esta link que tem cá tudo o que precisa,

use a função split, e veja qual é o indice do array referente ao codigo postal, faça a separação em função deste numerico.

http://www.macoratti.net/strings.htm

cumps

acao

edit:mais uma ajuda

estou a separa o valor da celula A3

Private Sub CommandButton1_Click()
Dim vValorCelula As Range
Dim vVector As Variant
Dim vIndice As Integer
Dim vValor1 As String
Dim vValor2 As String
Dim vValor3 As String
Dim vEndereço As Boolean
If Trim(Range("A3").Value) = "" Then
Exit Sub
End If
Set vValorCelula = Range("A3")
vVector = Split(vValorCelula.Value)
vEndereço = False
For vIndice = LBound(vVector) To UBound(vVector)
  If Not IsNumeric(vVector(vIndice)) And vEndereço = False Then
		vValor1 = vValor1 & " " & Trim(vVector(vIndice))
  ElseIf IsNumeric(vVector(vIndice)) And vEndereço = False Then  
		vEndereço = True
		vValor2 = Trim(vVector(vIndice))
  Else
		vValor3 = vValor3 & " " & Trim(vVector(vIndice))
  End If
Next
MsgBox (vValor1 & vbCrLf & vValor2 & vbCrLf & vValor3)
End Sub

cumps

cao

Editado por acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.