VBA - Atalhos para o Editor Visual Basic

Este tutorial irá mostrar uma variedade de atalhos realmente úteis no VBA

Use Alt + F11 para abrir o VBE

Normalmente, para acessar o Editor do Visual Basic, você precisa clicar no botão Visual Basic na faixa de opções do Excel. No entanto, você pode pressionar Alt + F11 em vez de!

Teclas rápidas no VBE

Ctl + r- mostra o Explorador de Projetos.

Ctl + g - mostra o Janela Imediata.

F4 - mostra o Janela de Propriedades.

F2 - mostra o Pesquisador de Objetos.

F5 - executa o Procedimento estás dentro.

F8 - permite que você avance pelo código Pausa modo.

Gravando uma Macro

Uma das melhores maneiras de aprender VBA é gravar uma macro e, em seguida, analisar o código. É também uma maneira muito rápida de escrever código, mas o gravador gravará TODAS as teclas pressionadas, portanto, você pode precisar editar seu código para remover linhas redundantes.

Vamos examinar a macro abaixo gravada pelo gravador de macro e ver como podemos torná-la mais eficiente.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 Sub TestFormat ()''TestFormat Macro''Atalho de teclado: Ctrl + Shift + T'ActiveCell.FormulaR1C1 = "Applese"Intervalo ("D3"). SelecioneActiveCell.FormulaR1C1 = "Peras"Intervalo ("E3"). SelecioneActiveCell.FormulaR1C1 = "Pêssegos"Intervalo ("C4"). SelecioneActiveCell.FormulaR1C1 = "12"Intervalo ("D4"). SelecioneActiveCell.FormulaR1C1 = "14"Intervalo ("E4"). SelecioneActiveCell.FormulaR1C1 = "16"Intervalo ("C5"). SelecioneActiveCell.FormulaR1C1 = "20"Intervalo ("D5"). SelecioneActiveCell.FormulaR1C1 = "25"Intervalo ("E5"). SelecioneActiveCell.FormulaR1C1 = "26"Intervalo ("C6: E6"). SelecioneIntervalo ("E6"). AtiveSelection.FormulaR1C1 = "= SOMA (R [-2] C: R [-1] C)"Selection.Borders (xlDiagonalDown) .LineStyle = xlNoneSelection.Borders (xlDiagonalUp) .LineStyle = xlNoneSelection.Borders (xlEdgeLeft) .LineStyle = xlNoneCom Selection.Borders (xlEdgeTop).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Weight = xlThinTerminar comCom Selection.Borders (xlEdgeBottom).LineStyle = xlDouble.ColorIndex = 0.TintAndShade = 0.Weight = xlThickTerminar comSelection.Borders (xlEdgeRight) .LineStyle = xlNoneSelection.Borders (xlInsideVertical) .LineStyle = xlNoneSelection.Borders (xlInsideHorizontal) .LineStyle = xlNoneIntervalo ("C4: E6"). SelecioneSelection.NumberFormat = _"_- [$$ - en-US] * #, ## 0.00_; _- [$$ - en-US] * - #, ## 0.00; _- [$$ - en-US] *" " - "" ?? _; _- @ _ "Intervalo ("C3: E3"). SelecioneSelection.Font.Bold = TrueIntervalo ("C3"). SelecioneActiveCell.FormulaR1C1 = "Maçãs"End Sub

Agora olhe para o código abaixo, que alcançará o mesmo resultado

123456789101112131415161718192021 Sub TestFormat ()'Atalho de teclado: Ctrl + Shift + TIntervalo ("C3") = "Maçãs"Intervalo ("D3") = "Peras"Intervalo ("E3") = "Pêssegos"Intervalo ("C4") = 12Intervalo ("D4") = 14Intervalo ("C4") = 16Intervalo ("C5") = 20Intervalo ("D5") = 25Intervalo ("E5") = "26"Intervalo ("C6: E6"). SelecioneSelection.FormulaR1C1 = "= SOMA (R [-2] C: R [-1] C)"Selection.Borders (xlEdgeTop) .LineStyle = xlContinuousSelection.Borders (xlEdgeBottom) .LineStyle = xlDoubleIntervalo ("C4: E6"). SelecioneSelection.NumberFormat = _"_- [$$ - en-US] * #, ## 0.00_; _- [$$ - en-US] * - #, ## 0.00; _- [$$ - en-US] *" " - "" ?? _; _- @ _ "Intervalo ("C3: E3"). SelecioneSelection.Font.Bold = TrueEnd Sub

Cortando muitos códigos redundantes e alterando o código gravado sempre que possível, podemos tornar a macro muito mais eficaz e fácil de ler.

Usando a pasta de trabalho Macro Pessoal

Se você deseja que uma macro possa ser usada em todos os seus arquivos do Excel, você pode armazenar a macro na pasta de trabalho Macro pessoal - esta pasta de trabalho está oculta e está aberta o tempo todo no Excel, tornando todas as macros armazenadas lá, macros globais .

Se você não vir uma pasta de trabalho de macros pessoais na janela do VBE, grave uma macro e especifique que ela seja armazenada na pasta de trabalho de macros pessoais.

Código de recuo

Quando você indenta seu código, imediatamente o torna mais fácil de ler e para que outra pessoa o siga. Para recuar várias linhas de código, você pode selecioná-las e pressionar a tecla Tab.

Da mesma forma, para ultrapassar o código, pressione Shift + Tab e o código se moverá para a esquerda novamente.

Cansado de procurar exemplos de código VBA? Experimente o AutoMacro!

Código de Comentário

Adicionar comentários ao código é outra maneira de facilitar a leitura e a navegação. Você adiciona um comentário ao código colocando uma aspa simples no início da linha, conforme mostrado abaixo.

Escrevendo em minúsculas

O VBA usa Case Adequado no código. Se você escrever em letras minúsculas e não mudar para caixa adequada, você poderá ver rapidamente onde cometeu um erro.

Usando Intellisense

O Intellisense aparece quando você está escrevendo um código e fornece uma lista de todas as propriedades, métodos e eventos que estão disponíveis para o objeto com o qual você está trabalhando. Normalmente, ele aparece automaticamente depois que você digita um ponto final ao digitar seu código.

Você também pode forçar a exibição pressionando Ctl + j.

Da mesma forma, quando você está usando funções no Excel que aceitam argumentos, eles normalmente aparecem automaticamente.

Você pode forçá-los a aparecer pressionando Ctl + i.

Autocompletar

Você pode usar o Ctl + Espaço combinação de teclas para usar o preenchimento automático ao escrever o código.

No exemplo acima, todos os Propriedades, métodos, eventos e Variáveis começando com str aparecerá na lista para você selecionar.

Opção explícita e código de compilação

Garantir que você tenha Option Explicit no topo de todos os seus módulos garante que todas as suas variáveis ​​sejam declaradas e evita que você cometa erros de ortografia nos nomes das variáveis. Se você tiver Option Explicit ativado e compilar ou executar seu código, receberá um erro se um nome de variável não for reconhecido.

A janela imediata e depuração

A janela imediata (você pode ativá-la usando Ctl + g) permite que você depure seu código e encontre o valor das variáveis ​​enquanto você está neste modo de depuração.

12345678 Sub TestVariables'declara a variávelDim strNome como string'preencher a variávelstrName = "Anne Smith"'use F8 para percorrer o código e enviar o valor da variável usando debug.print para a janela imediataDebug.Print strNameEnd sub

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave