Vídeo: Excel - Desbloquear Projeto VBA 2025
Um dos modos em que você pode obter o código VBA em um módulo VBA é usar o gravador de macro do Excel para registrar suas ações e convertê-las para Código VBA. No entanto, nem todas as tarefas podem ser traduzidas para o VBA, gravando uma macro. Você também pode inserir o código diretamente ou copiar o código de um módulo e colá-lo em outro.
Introduzir e editar texto em um módulo VBA funciona como você poderia esperar. Você pode selecionar, copiar, cortar, colar e fazer outras coisas para o texto.
Uma única linha de código VBA pode ser o tempo que quiser. No entanto, você pode usar o caractere de continuação de linha para quebrar linhas de código longas. Para continuar uma única linha de código (também conhecida como uma declaração ) de uma linha para a próxima, termine a primeira linha com um espaço seguido de um sublinhado (_). Em seguida, continue a declaração na próxima linha. Aqui está um exemplo de uma única declaração dividida em três linhas:
Seleção. Sort Key1: = Range ("A1"), _ Order1: = xlAscending, Header: = xlGuess, _ Orientation: = xlTopToBottom
Esta declaração executaria da mesma maneira se fosse inserida em uma única linha (sem linha- caracteres de continuação).
O VBE tem múltiplos níveis de desfazer e refazer. Se você excluir uma declaração que não deveria ter, use o botão Desfazer na barra de ferramentas (ou pressione Ctrl + Z) até que a declaração apareça novamente. Depois de desfazer, você pode usar o botão Redo para executar as alterações que você desfragmentou.
Pronto para inserir algum código real e ao vivo? Experimente as seguintes etapas:
-
Crie uma nova pasta de trabalho no Excel.
-
Pressione Alt + F11 para ativar o VBE.
-
Clique no novo nome da pasta de trabalho na janela do projeto.
-
Escolha Inserir → Módulo para inserir um módulo VBA no projeto.
-
Digite o seguinte código no módulo:
Sub GuessName () Dim Msg como String Dim Ans Como Long Msg = "É o seu nome" & Aplicação. UserName & "?" Ans = MsgBox (Msg, vbYesNo) Se Ans = vbNo Then MsgBox "Oh, não importa". Se Ans = vBYes Então MsgBox "Eu devo ser clarividente!" End Sub
-
Verifique se o cursor está localizado em qualquer lugar dentro do texto que você digitou e, em seguida, pressione F5 para executar o procedimento.
F5 é um atalho para o comando Run → Run Sub / UserForm.
Quando você insere o código listado na etapa 5, você pode notar que o VBE faz alguns ajustes no texto que você inseriu. Por exemplo, depois de digitar a instrução Sub, o VBE insere automaticamente a instrução End Sub. E se você omitir o espaço antes ou depois de um sinal igual, o VBE insere o espaço para você. Além disso, o VBE altera a cor e a maiúscula de algum texto. Essas mudanças são a maneira da VBE de manter as coisas inteligentes e legíveis.
Se você seguiu as etapas anteriores, você criou um procedimento Sub VBA, também conhecido como macro. Quando você pressiona F5, o Excel executa o código e segue as instruções. Em outras palavras, o Excel avalia cada afirmação e faz o que você disse para fazer. Você pode executar esta macro várias vezes - embora tenha tendência a perder o apelo após algumas dúzias de execuções.
Esta macro simples usa os seguintes conceitos:
-
Definindo um procedimento Sub (a primeira linha)
-
Declarando variáveis (as instruções Dim)
-
Atribuindo valores a variáveis (Msg e Ans)
-
Concatenação (juntando) uma string (usando o & operador)
-
Usando uma função VBA embutida (MsgBox)
-
Usando constantes VBA internas (vbYesNo, vbNo e vbYes)
-
Usando uma construção If-Then (duas vezes)
-
Terminando um procedimento Sub (a última linha)
Como mencionado, você pode copiar e colar código em um módulo VBA. Por exemplo, um procedimento Sub ou Função que você escreve para um projeto também pode ser útil em outro projeto. Em vez de perder o tempo reentrando o código, você pode ativar o módulo e usar os procedimentos de cópia e colagem normais (Ctrl + C para copiar e Ctrl + V para colar). Depois de colar o código em um módulo VBA, você pode modificar o código conforme necessário.
