Como obter o código do VBA em um módulo com o código do Windows

Uma das maneiras em que você pode obter o código do VBA em um módulo VBA é usar o gravador de macro Excel para gravar suas ações e convertê-los em código VBA. No entanto, nem todas as tarefas pode ser traduzido para VBA através da gravação de 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.

Inserindo e editando texto em um módulo VBA funciona como você poderia esperar. Você pode selecionar, copiar, cortar, colar e fazer outras coisas para o texto.

A única linha de código VBA pode ser tão longo como você gosta. No entanto, você pode querer usar o caractere de continuação de linha para quebrar longas linhas de código. Para continuar uma única linha de código (também conhecido como um declaração) De uma linha para a próxima, terminar a primeira linha com um espaço seguido por um sublinhado (_). Em seguida, continuar a instrução na linha seguinte. Aqui está um exemplo de uma única instrução divididos em três linhas:

Selection.Sort Key1: = Range ( "A1"), _Order1: = xlAscending, Header: = xlGuess, _Orientation: = xlTopToBottom

Esta declaração iria realizar da mesma maneira se fosse digitado em uma única linha (sem caracteres de continuação de linha).

VBE tem vários níveis de desfazer e refazer. Se você excluiu uma declaração de que você não deve ter, use o botão Undo na barra de ferramentas (ou pressione Ctrl + Z) até que a instrução aparece novamente. Depois de desfazer, você pode usar o botão Refazer para realizar as mudanças que você desfeitas.

Pronto para entrar em algum código real, ao vivo? Tente os seguintes passos:

  1. Criar um novo livro no Excel.

  2. Pressione Alt + F11 para ativar VBE.

  3. Clique no nome da nova pasta de trabalho na janela do projeto.

  4. Escolha Inserir-módulo para inserir um módulo VBA no projeto.

  5. Digite o seguinte código no módulo:

    Sub GuessName () Dim Msg como StringDim Ans Como LongMsg = "é seu nome" Application.UserName "?" Ans = MsgBox (Msg, vbYesNo) Se Ans = vbNo Then MsgBox "Oh, não importa." Se ans = vbYes Then MsgBox "Eu devo ser vidente!" End Sub
  6. Certifique-se o cursor está localizado em qualquer lugar dentro o texto digitado e, em seguida, pressione F5 para executar o procedimento.

F5 é um atalho para o Run # 8202 - # 8202-Run Sub comando / UserForm.

Quando você digitar o código listado na etapa 5, você pode notar que VBE faz alguns ajustes no texto inserido. Por exemplo, depois de escrever a declaração Sub, VBE insere automaticamente a instrução End Sub. E se você omitir o espaço antes ou depois de um sinal de igual, VBE insere o espaço para você. Além disso, VBE muda a cor e capitalização de algum texto. Estas mudanças são a maneira de manter as coisas limpo e legível do VBE.

Se você seguiu os passos anteriores, você acabou de criar um procedimento Sub VBA, também conhecido como uma macro. Quando você pressiona F5, Excel executa o código e segue as instruções. Em outras palavras, Excel avalia cada declaração e faz o que você disse para fazer. Você pode executar esta macro qualquer número de vezes - embora ele tende a perder o seu apelo depois de algumas dezenas de execuções.

Esta macro simples usa os seguintes conceitos:

  • A definição de um procedimento Sub (a primeira linha)

  • declarar variáveis ​​(as instruções Dim)

  • Atribuir valores às variáveis ​​(Msg e Ans)

  • Concatenar (unir) uma string (usando o operador)

  • Usando uma função interna do VBA (MsgBox)

  • Usando constantes internas VBA (vbYesNo, vbNo e vbYes)

  • Usando um If-Then construir (duas vezes)

  • Terminar um procedimento Sub (a última linha)

Como mencionado, você pode copiar e colar o código em um módulo VBA. Por exemplo, um procedimento Sub ou Function que você escreve para um projeto também pode ser útil em outro projeto. Em vez de perder tempo reinserir o código, você pode ativar o módulo e usar os procedimentos normais de copiar-e-colar (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.

menu