Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Primeira letra Maiúscula exceto "de" "da" das" "do" [RSLVDO]

Dúvidas gerais sobre Excel
Tolentino
Colaborador
Colaborador
Mensagens: 29
Registrado em: Sex Out 24, 2014 3:27 pm

Primeira letra Maiúscula exceto "de" "da" das" "do" [RSLVDO]

Mensagem por Tolentino »

Boa tarde pessoal.. to precisando de mais uma ajudinha aqui hehe... preciso configurar um textbox vba para que todas as primeiras letras de cada palavra fiquem maiúscula exceto "de", "das", "da", "dos"... por exemplo: diego da silva; quero que fique "Diego da Silva" e não "Diego Da Silva"
Editado pela última vez por Tolentino em Sáb Nov 22, 2014 2:53 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Reinaldo »

Veja se lhe auxilia, uma UDF,copie para o modulo desejado, no evento afterupdate do text desejado utilize: TextConverte(suaText.text)

Código: Selecionar todos

Function TextConverte(Texto) As String
'by RMARCO
Dim aArray As Variant, stem As Boolean
Dim nText As String, sCon(11) As String
'Determina termos que não são maiuscula
sCon(1) = "o"
sCon(2) = "os"
sCon(3) = "a"
sCon(4) = "as"
sCon(5) = "do"
sCon(6) = "dos"
sCon(7) = "de"
sCon(8) = "da"
sCon(9) = "das"
sCon(10) = "se"
sCon(11) = "e"

nText = ""
aArray = Split(Texto, " ")
    For x = LBound(aArray) To UBound(aArray)
        stem = False
        For y = 1 To 11 'Altere de acordo com a quantidade de excessoes
            If LCase(aArray(x)) = sCon(y) Then stem = True
         Next
            If stem = False Then
                aArray(x) = Application.Proper(aArray(x))
            Else
                aArray(x) = LCase(aArray(x))
            End If
            
            If x = 0 Then
                nText = aArray(x)
            Else
                nText = nText & " " & aArray(x)
            End If
    Next
TextConverte = nText
End Function


Tolentino
Colaborador
Colaborador
Mensagens: 29
Registrado em: Sex Out 24, 2014 3:27 pm

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Tolentino »

Olá... então ... não deu certo aqui... ve se to fazendo certo ai.. ainda dou leigo no assunto;
Criei um modulo com a função que me enviou, depois na minha textbox criei um evento afterupdate e colquei TextConverte(txtNome.text). Ficou assim;
Private Sub txtNome_AfterUpdate()
TextConverte (txtNome.Text)
End Sub
Seria isso?


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Reinaldo »

Se colocou a função em um modulo diferente do modulo do formulário, e como está como private deve se referir a função com o nome do modulo (Ex. Modulo1.TextConverte(...)
ou mover a função para o modulo do formulário ou ainda substituir Private por Public


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Tolentino
Colaborador
Colaborador
Mensagens: 29
Registrado em: Sex Out 24, 2014 3:27 pm

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Tolentino »

Nada aconteceu aqui cara :( tentei todas as alternativas que disse. quando coloco no mesmo modulo do form ele da erro no "x", quando uso Modulo1.TextConverte(...) nada acontece... tentei tbm colocar Public Function.. não deu também


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Reinaldo »

Bem não consigo adivinhar o que fez, post seu modelo, e como está utilizando


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Reinaldo »

Acho que a sintaxe utilizada está equivocada
experimente:

Código: Selecionar todos

Private Sub TxtNome_AfterUpdate()
TxtNome = TextConverte(TxtNome.Text)
End Sub
Anexos
Maiuscula+UserForm1.zip
(15.4 KiB) Baixado 583 vezes


Tolentino
Colaborador
Colaborador
Mensagens: 29
Registrado em: Sex Out 24, 2014 3:27 pm

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Tolentino »

o desenho 1 é o modo como coloquei o evento na text.. o 2 é módulo
Anexos
2.jpg
2.jpg (241.44 KiB) Exibido 11824 vezes
1.jpg
1.jpg (257.73 KiB) Exibido 11824 vezes


Tolentino
Colaborador
Colaborador
Mensagens: 29
Registrado em: Sex Out 24, 2014 3:27 pm

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Tolentino »

aah.. agora deu... mas será que é muita função a gente colocar isso numa KeyPress?? ^^


Tolentino
Colaborador
Colaborador
Mensagens: 29
Registrado em: Sex Out 24, 2014 3:27 pm

Re: Primeira letra Maiúscula exceto "de" "da" das" "do"

Mensagem por Tolentino »

Putss.. ja consegui.. coloquei numa KeyPress .. fico showw.... valeew brother!! Abraço


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder