Jump to content
Eduardo Lira

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

Recommended Posts

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

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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

Edited by Eduardo Lira

Share this post


Link to post
Share on other 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

Edited by acao

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.