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

Simula Shift+ F3 do Word no Excel

Dicas dos mais variados tipos, necessidades, angústias, enfim
Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Simula Shift+ F3 do Word no Excel

Mensagem por Mauro Coutinho »

Para quem usa ou já utilizou o Word, uma das funcionalidades das teclas de atalhos é a possibilidades de se alterar MAIUSCULAS / MINUSCULAS / Primeira Maiuscula ou Minuscula ....

No Excel, pelo menos até a versão 2003, não usei versões posteriores, não existe esse atalho, então podemos Criar ou Simular as Funções das teclas SHIFT + F3 com as Rotinas abaixo :

1 ° )Crie um novo Arquivo Excel, preencha algumas Celulas com varios Nomes ou Textos;

2 °)No Evento Workbook_Open da Pasta de Trabalho, cole a rotina :

Código: Selecionar todos

Private Sub Workbook_Open()
'Atribui o atalha dasTeclas
   Application.OnKey "+{F3}", "ImitaShiftF3"
End Sub
3 °) Crie um Módulo, e cole a rotina :

Código: Selecionar todos

Sub ImitaShiftF3()
'por: JLM
   Dim J As Range
   
   For Each J In Selection

      If UCase(J.Value) = J.Value Then

         J.Value = LCase(J.Value)

      ElseIf LCase(J.Value) = J.Value Then

         J.Value = WorksheetFunction.Proper(J.Value)
         'para o caso de nomes próprios, é necessário o tratamento abaixo:
         J.Value = WorksheetFunction.Substitute(J.Value, " Do ", " do ")
         J.Value = WorksheetFunction.Substitute(J.Value, " Dos ", " dos ")
         J.Value = WorksheetFunction.Substitute(J.Value, " Da ", " da ")
         J.Value = WorksheetFunction.Substitute(J.Value, " Das ", " das ")
         J.Value = WorksheetFunction.Substitute(J.Value, " De ", " de ")

      Else
         J.Value = UCase(J.Value)
      End If
   Next J

End Sub
Salve o Arquivo, Feche e reabra, Selecione algumas ou todas as Células com Texto e tecle Simultaneamente as teclas SHIFT+F3 e veja que os textos serão alterados com a Captulação adequada cada vez que usar as teclas de Atalho.
Essa rotina foi criada pelo JLM que me enviou em um dos Foruns que participo, já chegou a me ajudar muito quando trabalhamos com Arquivos de terceiros e precisamos alterar a Captulação.

[]s


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
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Simula Shift+ F3 do Word no Excel

Mensagem por webmaster »

Muito bom Mauro!

Essa rotina realmente faz falta no Excel. Uso direto no Word. Se colocar na pasta pessoal de macros, aí é show de bola!

Abraços


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Simula Shift+ F3 do Word no Excel

Mensagem por joseA »

Se desse para aplicar em um conjunto de TextBox então...


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Simula Shift+ F3 do Word no Excel

Mensagem por Mauro Coutinho »

joseA escreveu:Se desse para aplicar em um conjunto de TextBox então...
José, quando diz em conjunto com textbox, seria utilizar tambem as Teclas de Atalhos ?

Nos TextBox poderiámos adicionar nos Evento Change, AfterUpdate ou Exit as constantes :
vbUpperCase - 1 Converte a seqüência em caracteres maiúsculos.
vbLowerCase - 2 Converte a seqüência em caracteres minúsculos.
vbProperCase - 3 Converte a primeira letra de cada palavra na seqüência


TextBox.Text1 = StrConv(TextBox1.Text, vbProperCase)

ou utilizar alguns IF...ELSE :

Código: Selecionar todos

If TextBox1.Text = StrConv(TextBox1.Text, vbLowerCase) Then
    TextBox1.Text = StrConv(TextBox1.Text, vbUpperCase)
End If
Seria isso ?

[]s


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
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Simula Shift+ F3 do Word no Excel

Mensagem por joseA »

Olá Mauro,

Não sei se tem uma maneira mais "enxuta" de fazer...

Mas fiz assim e deu certo:

Código: Selecionar todos

Private Sub Ajustar()
Dim C As Control

   For Each C In Controls

      If TypeName(C) = "TextBox" Then

         If UCase(C.Value) = C.Value Then

            C.Value = LCase(C.Value)

         ElseIf LCase(C.Value) = C.Value Then

         C.Value = WorksheetFunction.Proper(C.Value)
         'para o caso de nomes próprios, é necessário o tratamento abaixo:
         C.Value = WorksheetFunction.Substitute(C.Value, " Do ", " do ")
         C.Value = WorksheetFunction.Substitute(C.Value, " Dos ", " dos ")
         C.Value = WorksheetFunction.Substitute(C.Value, " Da ", " da ")
         C.Value = WorksheetFunction.Substitute(C.Value, " Das ", " das ")
         C.Value = WorksheetFunction.Substitute(C.Value, " De ", " de ")
      Else
         C.Value = UCase(C.Value)
      End If
End If
   Next C
End Sub
Associei a Sub ao evento Exit dos Text's, agora quando temos 'e', dentre outras é convertido à maiúsculas também. Se tiveres uma outra orientação será bem vinda.


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Simula Shift+ F3 do Word no Excel

Mensagem por Mauro Coutinho »

José, não consegui testar ainda sua rotina, mas assim que possível testo e coloco os resultados.

abraços


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Simula Shift+ F3 do Word no Excel

Mensagem por joseA »

Para ajustar primeira para maiúsculo em quantos TextBox's tiverem...

Uma adaptação da orientação do nosso amigo Mauro.

Anexo Atualizado em 03/05/2011
TextBox1ªMaiuscula.zip
(9.05 KiB) Baixado 463 vezes
abraços


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