Bom, senhores!
Após um tempo focado na resolução do meu problema, venho trazer uma solução usual e de emergência para resolver o problema, talvez haja outra mais prática. Mas...
Usei uma mescla de comandos, mas o que me favoreceu para a resolução do problema foi o Replace:
Substitui os caracteres da formatação por algum de sua escolha.
Ex.: MinhaCel = Replace (MinhaCel, "Caracter presente na MinhaCel", "Caracter escolhido por mim")
Substitui todos os caracteres diferentes de "-" para "-"
Após, apliquei o comando Split(Trim(MinhaCel), "-") (Num que varia de 0 ao numero de tracos)
O comando "SE" se deu por conta da presença ou não do Complemento, que não é obrigatório na hora de cadastrar a obra.
Vejam o Código a seguir:
'declarando variavel que conta quantidade de traços
Dim verqtdtraco As Variant
'declarando variavel 2 que contaquantidade de traços só por desencargo com o ubound
Dim qtdtracos As Double
'declarando uma variável para substituir a celula em questão para não termos que alterá-la na planilha
Dim sc7 As String
sc7 = Cells(nind, 7)
verqtdtraco = Split(sc7, "-")
qtdtracos = UBound(verqtdtraco)
If qtdtracos = 2 Then
sc7 = Replace(sc7, ". ", "-") 'substitui ponto e espaço por traço
sc7 = Replace(sc7, ", ", "-") 'substitui virgula e espaço por traço
sc7 = Replace(sc7, " - ", "-") 'substitui traço e espaços por traço
sc7 = Replace(sc7, " / ", "-") 'substitui barra e espaços por traço
cxlogradouro.Text = Split(Trim(sc7), "-")(0)
txtendereco.Text = Split(Trim(sc7), "-")(1)
txtnumero.Text = Split(Trim(sc7), "-")(2)
txtcomplemento.Text = Split(Trim(sc7), "-")(3)
txtbairro.Text = Split(Trim(sc7), "-")(4)
cxestado.Text = Split(Trim(sc7), "-")(5)
Else
If qtdtracos < 2 Then
sc7 = Replace(sc7, ". ", "-")
sc7 = Replace(sc7, ", ", "-")
sc7 = Replace(sc7, " - ", "-")
sc7 = Replace(sc7, " / ", "-")
cxlogradouro.Text = Split(Trim(sc7), "-")(0)
txtendereco.Text = Split(Trim(sc7), "-")(1)
txtnumero.Text = Split(Trim(sc7), "-")(2)
txtcomplemento.Text = ""
txtbairro.Text = Split(Trim(sc7), "-")(3)
cxestado.Text = Split(Trim(sc7), "-")(4)
End If
End If
Abraços!
Postado : 21/04/2015 7:32 pm