Fase # 2: Código VBA do Excel (macros)
Lição 2: Código VBA do Excel para o Objeto Application bjeto Application
O Application é um objeto VBA, ELE É O PRÓPRIO EXCEL. Sempre que você quiser que o Excel faça alguma coisa ou se você quiser mudar as propriedades do Excel, você usará o objeto Application. Através dele, então, podemos configurar o Excel em termos de visualização, execuções e outras funcionalidades.
Este objeto importante possui muitas propriedades e métodos. Vejamos algumas delas:
Propriedade Calculation
Quando você estiver trabalhando com uma pasta na qual existem um monte de fórmulas e você quiser desativar temporariamente os cálculos você usará:
Application.Calculation = xlManual(Não esqueça do xl antes de Manual) CERTIFIQUE-SE de que no final do procedimento você adicionou esta linha de código:
Application.Calculation = xlAutomatic
Se durante a execução do procedimento você quiser que uma única folha seja calculada você usará:
Activesheet.Calculate
CutCopyMode
Após cada operação Copiar/Colar, você deverá esvaziar o clipboard com a seguinte linha de código para ficar seguro de que a memória do computador não sobrecarregou.
ActiveSheet.Paste
Application.CutCopyMode=False
Diálogos
Para mostrar quaisquer das janelas de diálogo do Excel você usará o seguinte código (exemplo):
Application.Dialogs(xlDialogOpen).Show
Lição #02 – Código VBA do Excel para o objeto Application 114
dentre os itens. Neste caso foi escolhido Show.
Neste exemplo será mostrada a janela de diálogo ABRIR, como mostrado abaixo:
Propriedade DisplayAlerts
Habilita ou desabilita a exibição de mensagens de aviso como resposta de várias ações no Excel. True habilita as mensagens e False as desabilita.
Quando você não quiser que o Excel lhe pergunte coisas como "Um arquivo já existe..." ou "Você quer salvar este arquivo..." você usará o seguinte linha de código no começo do seu procedimento VBA. Application.DisplayAlerts = False E daí então no final:
Application.DisplayAlerts = True Vamos a um outro exemplo:
Sub ExcluirFolha( ) V B E l h
m igo VBE l h e of erece o u tra lista para você esco lher e o f e r ece a lista d e todas as janelas de d i álogo do Excel.
A p ó s d i g i t a r o p o n t o o a
Application.DisplayAlerts = False Application.Worksheets(“plan3”).Delete
MsgBox “A folha de planilha PLAN3 foi excluída sem nenhuma mensagem...”
Application.DisplayAlerts = True
Application.Worksheets(“plan2”).Delete
MsgBox “A folha de planilha PLAN2 foi excluída com uma mensagem de aviso...”
End Sub
Lições de VBA do Excel
Neste exemplo anterior aparecerá a seguinte mensagem de aviso quando da exclusão da PLAN2:
Propriedade DisplayFormulaBar
Exibe ou oculta a barra de fórmulas do Excel como mostra o exemplo a seguir:
Public Sub BarraDeFormula ( )
Dim Resposta As VbMsgBoxResult
Application.DisplayFormulaBar = False
MsgBox “A barra de fórmulas está agora desabilitada” Resposta = MsgBox (“Você quer habilitá-la novamente?”, vbYesNoCancel Or vbQuestion, ”Habilitação da barra de fórmulas”)
If Rsposta = vbYes Then
Application.DisplayFormulaBar = True
MsgBox “A barra de fórmula acaba de ser habilitada novamente”
ElseIf Resposta = vbNo Then
MsgBox “Você clicou em Não. A barra de fórmulas continuará desabilitada”
Else
MsgBox “Você clicou em Cancelar. A barra de fórmulas continuará desabilitada” End Sub
Propriedade DisplayFullScreen
Exibe o Excel em tela cheia, diferente de maximizar a aplicação.
Public Sub TelaCheia ( )
Application.DisplayFullScreen = True
MsgBox “A tela está no modo de Tela Cheia” Application.DisplayFullScreen = False
Lição #02 – Código VBA do Excel para o objeto Application 116
MsgBox “A tela voltou ao modo normal”
End Sub
Propriedade EnableAnimations
Essa propriedade ativa animação quando inserimos ou excluimos linhas ou colunas de uma planilha. Podemos ter os seguintes valores:
Application.EnableAnimations = True Application.EnableAnimations = False
Propriedade EnableAutoComplete
Esta propriedade habilita ou desabilita o recurso de AutoCompletar textos já conhecidos: Application.EnableAutoComplete = True
Application.EnableAutoComplete = False
Propriedade EnableSound
Habilita ou desabilita a emissão do beep dentro do Excel.
Application.EnableSound = True Application.EnableSound = False
Método OnKey
O método OnKey é o responsável pela atribuição de teclas de atalho para
procedimentois específicos. Esse método é sempre acionado para designar teclas de atalho no momento de criação (design) de uma macro, quando configuramos essa opção.
Sua sintaxe é:
Application.Onkey(Tecla,Procedimento)
Tecla é uma string que mostra uma tecla ou combinação de teclas que servirão de atalho para um determinado procedimento Sub.
Vamos a um exemplo. O atalho de teclado Crtl + A exibe a caixa de diálogo Abrir dentro de uma pasta de trabalho. Vamos desabilitá-la:
Application.OnKey “^a”, “ ”
Para fazer com que o atalho volte à sua função normal, fazemos o seguinte: Application.OnKey “^a”
O argumento Tecla pode assumir qualquer combinação de teclas. Para tanto, designamos as letras como atalho direto e temos teclas especiais para designar combinações ou outras teclas não-diretas.
Vejamos a seguir uma lista de teclas especiais para o Microsoft Excel. As teclas combinadas com Shift, Ctrl e Alt usam os seguintes prefixos:
Shift + (sinal de mais)
Ctrl ^ (circunflexo)
Alt % (porcentagem)
Backspace (retorno) {BACKSPACE} ou {BS}
Break (interrupção) {BREAK}
Caps Lock (letras maiúsculas) {CAPSLOCK}
Lições de VBA do Excel
Clear (limpar) {CLEAR}
Delete ou Del (apagar) {DELETE} ou {DEL}
Down Arrow {DOWN}
End {END}
Enter (entrar) {ENTER}
Esc (sair) {ESCAPE} ou {ESC}
Help (ajuda) {HELP}
Home (ponto inicial) {HOME}
Ins (inserir) {INSERT}
Left Arrow (seta a esquerda) {LEFT}
Num Lock (bloqueio numérico) {NUMLOCK}
Page Down (página abaixo) {PGDN}
Page Up (página acima) {PGUP}
Return (retorno) {RETURN}
Right Arrow (seta a direita) {RIGHT}
Lição #02 – Código VBA do Excel para o objeto Application 118
Tab (guia para tabulação) {TAB}
Up Arrow (seta para cima) {UP}
F1 a F15 {F1} a {F15}
Método GoTo
Para selecionar uma certa célula você pode usar
Application.Goto Reference:=Range("V300") ou mais simplesmente
Range("V300").Select
Mas se você quiser que esta célula seja selecionada e fique como a célula do topo/esquerdo na sua tela, você usará
Application.Goto Reference:=Range("V300"), Scroll=True
Método Quit
Esse método encerra o Microsoft Excel e dá os procedimentos comuns antes da finalização, com uma caixa de mensagem perguntando se o usuário deseja salvar a aplicação.
A seguinte linha de código fecha Excel no geral. Application.Quit
ScreenUpdating
Quando você não quiser ver sua tela siga as ações do seu procedimento VBA, você inicia e termina seu código com as seguintes sentenças:
Application.ScreenUpdating = False Application.ScreenUpdating = True
Fase #2: Código VBA do Excel (Macros)
Lição 3: Procedimentos (Procedures) VBA para Pastas (Workbooks)