Nosso vídeo
Carregando seu vídeo "FAQ: Macros - Como criá-los"Que bom seria criar seus próprios comandos ... Não ter mais que realizar uma dúzia de operações por mês para criar o mesmo relatório ... Ser capaz de clicar em um botão ou executar um atalho de teclado para que este relatório seja impresso automaticamente .. Tudo isso é possível com as planilhas mais recentes, incluindo Excel e Calc. Tudo que você precisa fazer é criar uma macro: um mini-programa que executa uma tarefa repetitiva. As macros são escritas em uma linguagem de programação específica. Para Excel, isso é Visual Basic for Application (VBA), enquanto macros OOo são geralmente escritas em OpenOffice.org Basic, mas também podem ser escritas em JavaScript, Python ou BeanShell (Java), caso em que falamos mais de um script. No restante deste livro, examinaremos apenas as macros VBA e OOo Basic.
Felizmente, você não precisa ser um programador para criar uma macro, porque o Excel e o Calc, como muitas outras planilhas, têm um gravador de macro. Ele funciona como um gravador de fita ou videocassete, exceto que, em vez de gravar áudio ou vídeo, ele grava pressionamentos de teclas e ações do mouse. Este capítulo mostra como criar, executar e modificar macros.
O que é macro?
Uma macro é um procedimento, ou seja, um conjunto de instruções que realizam uma tarefa específica ou retornam um resultado. Existem dois tipos de procedimentos:
- Uma sub-rotina é um procedimento que executa uma determinada tarefa. Seu código começa com a palavra Sub e termina com as palavras End Sub. Uma macro é um procedimento do tipo sub-rotina. Neste capítulo, os termos rotinas e sub-rotinas são usados alternadamente.
- Uma função é um procedimento que retorna um resultado. Você provavelmente sabe o que são funções em uma planilha, como = SUM () ou = AVERAGE (). Linguagens de programação como o VBA permitem que você crie funções personalizadas que podem ser usadas como se fossem parte do software. Uma função sempre começa com a palavra Function e termina com End Function.
Grave uma macro
O gravador de macro do Excel ou Calc grava todas as ações do teclado ou do mouse em uma macro. Inicie-o, conclua a tarefa de automatização e, em seguida, pare-o.
Antes de começar a gravar uma macro, é melhor certificar-se de que você está familiarizado com todas as etapas da tarefa. Uma boa prática é escrevê-los em uma folha de papel ou executá-los “em branco” pela primeira vez para evitar surpresas.
O gravador de macro registra todas as suas ações, incluindo erros de digitação ou erros. Gravar apenas o necessário e sem erros exige o conhecimento prévio das diferentes etapas.
A ordem das etapas para gravar uma macro difere dependendo da planilha usada, mas o procedimento é sempre comparável. Antes de começar, entretanto, é necessário se interessar pelos parâmetros vinculados a uma macro.
LOCAL DE ARMAZENAMENTO: MÓDULOS
Como veremos em breve, na programação de objetos tudo (ou quase) é um objeto. Uma pasta de trabalho é composta de diferentes objetos: planilhas, planilhas de gráfico (Excel) e módulos. Se uma pasta de trabalho contém um procedimento, ela contém um objeto Módulo, contendo o código. A coleção de objetos em uma pasta de trabalho costuma ser chamada de projeto. O editor exibe os projetos e os objetos associados a eles. Ao salvar uma pasta de trabalho, você está, na verdade, salvando o projeto que contém todos os objetos da pasta de trabalho. Um módulo se parece e se comporta como um documento de processamento de texto. Ele contém as instruções que compõem os procedimentos.
Em princípio, é possível armazenar uma macro em vários locais diferentes:
- em um módulo da pasta de trabalho ativa;
- em um módulo genérico.
Uma macro armazenada na pasta de trabalho ativa só pode ser executada quando essa pasta de trabalho está aberta. Você escolherá esta opção para macros estritamente vinculadas a uma pasta de trabalho específica, como uma criação de gráficos cuidadosamente configurada e uma macro de inicialização de impressão.
Por outro lado, existe um módulo genérico particular: é para Excel aquele localizado em Macros personalizadas e para Calc em Minhas macros. Em ambos os casos, é um módulo cujos procedimentos estão sempre acessíveis ao abrir qualquer pasta de trabalho, seja ela qual for.
Dependendo da planilha considerada, o nome do módulo genérico é diferente. Para o Calc, é denominado Módulo1 e está armazenado na pasta Padrão de Minhas Macros. Para o Excel, é a pasta de trabalho de macro pessoal, uma pasta de trabalho oculta salva na pasta XLOpen, uma subpasta da pasta Excel no disco rígido. Esta pasta de trabalho é aberta automaticamente quando você inicia o Excel, mas como ela está oculta, você não a nota. As macros que ele contém, entretanto, podem ser acessadas em todas as outras pastas de trabalho.
A pasta de trabalho de macros pessoais do Excel é um arquivo denominado Perso.xls. Geralmente, está localizado na pasta C: WindowsApplication DataMicrosoftExcelXLOpen. Tenha cuidado para não excluí-lo ou movê-lo acidentalmente. Se você grava macros com frequência ou grava macros complexas, faça backup de seu conteúdo de vez em quando, apenas para garantir.
O Excel também se oferece para gravar uma macro em uma nova pasta de trabalho. Essa opção raramente é usada e geralmente é usada quando a criação de uma nova pasta de trabalho faz parte do processo de macro.
Adicionar um módulo
Conforme o número de procedimentos aumenta, você provavelmente desejará reorganizá-los e adicionar um ou mais novos módulos a um projeto. Você pode querer colocar todas as funções em um módulo e as sub-rotinas em outro. Isso tornará mais fácil encontrar cada um dos procedimentos necessários no editor. Para adicionar um novo módulo, siga estas etapas:
Com Excel
- No menu, escolha Ferramentas> Macro> Editor do Visual Basic ou pressione ALT + F11.
- No menu, clique em Inserir> Módulo.
Com Calc
- No menu, escolha o menu Ferramentas> Macros> Gerenciar Macros> OpenOffice.org Basic (Calc).
- Clique em Gerenciar. A janela OpenOffice.org Basic Macro Management é exibida.
- Navegue na estrutura em árvore à esquerda até o local onde deseja criar um novo módulo e clique em Novo.
- Digite o nome do novo módulo e clique em OK. Você pode fechar as outras janelas.
Renomear um módulo
Quando um projeto tem vários módulos (por exemplo, porque você adicionou alguns), você pode querer alterar o nome dos módulos antigos. Veja como renomear um módulo:
Com Excel
- Abra o editor VBA.
- Selecione o módulo a ser nomeado no Project Explorer. Deve estar na pasta Módulos, no projeto que o contém.
- Clique no cabeçalho da propriedade (Nome) ou clique duas vezes em seu nome padrão ao lado da propriedade Nome na janela Propriedade.
- Insira o novo nome e pressione ENTER.
Com Calc
- Escolha Ferramentas> Macros> Gerenciar macros> OpenOffice.org Basic e clique em Gerenciar ou clique no ícone de seleção de módulo IDE básico para abrir a caixa de diálogo Gerenciar macros.
- Clique duas vezes no módulo a ser renomeado, fazendo uma pausa entre os dois cliques. Digite o novo nome.
- No IDE básico, clique com o botão direito do mouse no nome do módulo ou caixa de diálogo em qualquer uma das guias na parte inferior da tela, escolha Renomear e insira o novo nome.
- Pressione ENTER para confirmar a mudança.
Excluir um módulo
Se você adicionou um módulo por engano ou se deseja removê-lo por qualquer motivo, faça o seguinte:
Com Excel
- Abra o editor VBA.
- Na janela Project Explorer, clique com o botão direito no módulo a ser removido.
- Escolha Remover no menu de contexto.
- Clique em Não quando for perguntado se deseja exportar o módulo antes de excluí-lo.
CONHECER
O editor VBA permite exportar um módulo, ou seja, salvá-lo com todo o seu código. Ao fazer isso, você poderá importá-lo para outra pasta de trabalho porque, ao importar e exportar, você estará copiando um conjunto de procedimentos entre as pastas de trabalho.
Com Calc
- Escolha Ferramentas> Macros> Gerenciar macros> OpenOffice.org Basic e clique em Gerenciar ou clique no ícone de seleção de módulo IDE básico para abrir a caixa de diálogo Gerenciar macros.
- Clique na guia Módulos ou Diálogos.
- Selecione o módulo ou caixa de diálogo a ser removido da lista. Se necessário, clique duas vezes em uma entrada para exibir suas subentradas.
- Clique em Remover.
A exclusão definitiva de um módulo resulta na exclusão de todos os procedimentos e funções que ele continha.
NOME MACRO
Um nome de macro pode conter letras, números, o caractere de sublinhado, mas nunca espaços. Deve começar com uma letra e seu comprimento não deve exceder 64 caracteres. Tente manter os nomes curtos e significativos.
DICA: ATALHO DE TECLADO
Freqüentemente, é possível atribuir um atalho de teclado a uma macro. Os atalhos de teclado para macros têm precedência sobre os do programa. Normalmente, a maioria das combinações de teclas CTRL + letra já está atribuída. Melhor manter CTRL + SHIFT + letra para evitar confusão.
MACRO ABSOLUTO OU RELATIVO
Uma macro pode ser absoluta ou relativa.
Se você selecionar uma área ou célula específica após iniciar a gravação, a macro será executada da mesma forma e aplicará suas instruções para ou a partir dessa célula ou intervalo específico, sem nenhuma modificação possível: é uma macro absoluta. Faça isso quando quiser que a macro afete a mesma célula, como colocar uma data na célula A1.
Se você selecionar a célula ou intervalo antes de lançar a macro, o processo de seleção não será gravado na macro e a macro será executada na ou da área ativa, seja ela qual for: é uma macro relativa. O Excel também permite que você crie macros totalmente relativas: se você selecionar um intervalo durante a gravação, ele é referenciado em relação à célula inicialmente ativa, ao contrário de uma macro absoluta (por padrão).
As macros relativas são muito mais versáteis.
COMECE A GRAVAR
Para gravar uma macro com o Excel, siga estas etapas:
- Escolha Ferramentas> Macro> Nova macro. Isso abre a caixa de diálogo Gravar Macro.
- Insira um nome na caixa Nome da macro.
- Selecione o local de armazenamento da macro na caixa de listagem suspensa Salvar macro (por padrão, uma nova macro é armazenada na pasta de trabalho atual).
- Opcionalmente, insira uma breve descrição da ação que a macro executa na caixa Descrição.
- Você também pode atribuir um atalho de teclado à macro, inserindo a letra a ser usada na caixa Tecla de atalho.
- Clique em OK para fechar esta caixa de diálogo.
Para gravar uma macro com Calc, faça o seguinte:
- Escolha Ferramentas> Macro> Gravar macro. As etapas de escolha do nome, local de armazenamento, etc., somente serão realizadas ao final da gravação.
Com o Excel, a barra de status exibe a palavra Gravação e a barra de ferramentas Parar Gravação é exibida. Com o Calc, esta barra de ferramentas é chamada de Gravação.
Não feche esta barra de ferramentas! Com o Calc, a gravação termina e você perde tudo. Com o Excel, a gravação continua, quase sem o seu conhecimento. Você precisará escolher Ferramentas> Macro> Parar gravação para parar a gravação.
No Excel, para gravar a macro relativamente, clique no botão Referência relativa na barra de ferramentas Parar gravação.
Execute cada uma das tarefas que precisam ser registradas cronologicamente. Quando as tarefas forem concluídas, clique no botão Parar Gravação (Excel) ou Terminar Gravação (Calc).
É fácil esquecer que uma gravação está em andamento. Como isso continua até que seja explicitamente interrompido, é essencial que você pare de gravar assim que as tarefas a serem gravadas o forem. Se você se esqueceu de interromper a gravação de uma macro a tempo, não precisa regravar tudo - apenas edite a macro e remova as ações desnecessárias. Veremos como fazer isso em breve.
Com o Calc, é quando você precisa especificar o local para salvar a macro (módulo padrão genérico ou módulo na pasta de trabalho ativa) e dar um nome a ela. Vale a pena dar uma olhada mais de perto no que é um módulo.
EXEMPLO PRÁTICO: CRIAÇÃO DE UM MACRO DE AJUSTE AUTOMÁTICO DE UMA COLUNA
Aqui, você criará uma pequena macro que ajusta automaticamente a coluna ativa da planilha ativa e, a seguir, seleciona a célula A1. Ele se chamará AjustCol (ou qualquer outro nome de sua escolha) e será armazenado no módulo genérico para ser acessível a partir de qualquer pasta de trabalho.
1. Certifique-se de que a célula A1 esteja visível na tela.
2. Comece a gravar uma nova macro, conforme descrito acima.
3. Pressione CTRL + A para selecionar a tabela inteira.
4. Escolha Formatar> Coluna> Ajuste automático (Excel) ou Formatar> Coluna> Largura ideal (Calc).
5. Selecione a célula A1 na planilha atual.
6. Pare de gravar a macro.
Lembre-se de que você nomeia a macro com o Excel e escolhe seu local de armazenamento antes de iniciar a gravação, enquanto com o Calc é depois de parar a gravação.
Sempre salve a pasta de trabalho que contém uma macro antes de testá-la. Se contiver erros, você poderá perder dados durante a execução. Se você notar perda de dados após a execução, feche a pasta de trabalho sem salvá-la e, em seguida, abra-a novamente, o que restaurará os dados originais.
7. Agora teste a nova macro. Insira qualquer texto ou número que exceda sua largura em qualquer coluna e:
com o Calc, selecione no menu Ferramentas> Macro> Executar macro, a seguir selecione a macro em questão (pode ser necessário navegar um pouco);
com o Excel, selecione no menu Ferramentas> Macro> Macros e, a seguir, selecione a macro em questão na lista.
8. Clique em Executar: todas as colunas serão ajustadas automaticamente e o texto ou número inserido será exibido por completo.