Galera tenho algumas textbox onde a primeira letra sempre fica em maiúscula porém, gostaria de colocar uma exceção com a seguinte regra:
quando entre as palavras houver a letra "de, da, do" a primeira letra ficasse em minúscula. Por exemplo: " Maria Da Silva para Maria da Silva"
estou usando este código para a 1ª letra:
TextBox1.Text = StrConv(TextBox1.Text, vbProperCase)
Valeu.
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
Usei a sequência abaixo mais as palavras estão ficando todas em minúscula. Veja se consegue ver o meu erro.
Sub teste() Dim Altera 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" Altera = TextBox_Nome.Text Altera = StrConv(Altera, vbProperCase) For i = 1 To 3 Altera = Replace(Altera, " " & Particula_atona(i) & " ", " " & Particula(i) & " ") Next End Sub
edilsonjc,
tente:
Sub teste() Dim Altera 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" Altera = TextBox_Nome.Text Altera = StrConv(Altera, vbProperCase) For i = 1 To 3 Altera = Replace(Altera, " " & Particula_atona(i) & " ", " " & Particula(i) & " ") Next TextBox_Nome.Text = Altera End Sub
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
gtsalikis
Show de Bola.
Agora tá funcionando
Valeu.
Muitíssimo Obrigado.
Estamos sempre a aprender....
Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel