Não sei se existe uma forma mais fácil, mas, segue minha sugestão:
Sub teste()
Dim Nome As String
Dim Particula_atona(3) As String
Dim Particula(3) As String
Dim i As Integer
Particula_atona(1) = "Da"
Particula_atona(2) = "De"
Particula_atona(3) = "Do"
Particula(1) = "da"
Particula(2) = "de"
Particula(3) = "do"
Nome = "maria da silva de quadros do porto"
Nome = StrConv(Nome, vbProperCase)
For i = 1 To 3
Nome = Replace(Nome, " " & Particula_atona(i) & " ", " " & Particula(i) & " ")
Next
End Sub
Usei uma variável Nome para testar, troque por TextBox1.Text
Vc tb pode adaptar as variáveis Particula_atona(3) e Particula(3) à quantidade de casos que tiver. Coloquei 3 porque vc indicou 3.
Se alguém indicar uma alternativa melhor, eu aprendo tb
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 11/01/2014 10:27 am