e aí kakamotasjc2
cara, eu fiz algo que acreditava que daria certo, mas não rolou.
a função devolve erro de valor inválido.
revisei, revisei, revisei... e nada hahahah
eu vou disponibilizar aqui para o próximo já ter algo 'mais desenvolvido' para olhar e talvez falar "ah, é só mudar aquilo ali e pronto!"
mas a funcao String_final foi essa:
(que puxa a célula que contém todas as infos que você colocou aí)
Public Function String_final(infos As String) 'infos é a célula de referencia onde estao as infos
'variaveis
Dim comprimento As Integer 'comprimento da string com as infos do fulano
Dim bloco As String 'bloco movel de caracteres que vai procurar as infos
Dim id_posicoes(1 To 3) As Integer 'numero da posicao das infos
Dim qtde_infos As Integer 'numero de infos - idade, sexo, telefone, etc
Dim vetor_infos(1 To 3) As String 'vetor com os textos das infos
Dim String_infos(1 To 3) As String 'String que vai receber as linhas
Dim String_final As String 'String que vai concatenar as linhas e as puladas de linha
Dim ultimo As Integer 'marca o ultimo caracter analisado
'mede o comprimento
comprimento = Len(infos)
qtde_infos = 3
ultimo = 1
vetor_infos(1) = "Idade"
vetor_infos(2) = "Sexo"
vetor_infos(3) = "Telefone"
'laço que procura a posicao dos textos das infos
For j = 1 To qtde_infos
For i = ultimo To comprimento
bloco = Mid(infos, i, Len(vetor_infos(j))) 'bloco de caracteres que vai procurar as infos
If (bloco = vetor_infos(j)) Then
id_posicoes(j) = i
ultimo = i + 1
i = comprimento
End If
Next i
Next j
'agora com as posicoes, armazenaremos as strings das infos concatenadas a uma nova linha na String_final
'sem esquecer da primeira info nome
String_final = Mid(infos, 1, id_posicoes(1)) & vbNewLine
For k = 1 To qtde_infos
String_infos(k) = Mid(infos, id_posicoes(k), Len(vetor_infos(j)))
String_final = String_final & String_infos(k) & vbNewLine
Next k
End Function
Será que algúem nos ajuda?
abraços e boa sorte - para nós! hehe