Macros do Excel - Guia rápido
Uma macro do Excel é uma ação ou um conjunto de ações que você pode gravar, dar um nome, salvar e executar quantas vezes e quando quiser. Ao criar uma macro, você está gravando os cliques do mouse e as teclas digitadas. Quando você executa uma macro salva, os cliques do mouse e pressionamentos de tecla registrados serão executados na mesma sequência em que foram registrados.
As macros ajudam a economizar tempo em tarefas repetitivas envolvidas na manipulação de dados e relatórios de dados que precisam ser feitos com frequência.
Macro e VBA
Você pode gravar e executar macros com comandos do Excel ou do Excel VBA.
VBA significa Visual Basic for Applications e é uma linguagem de programação simples disponível no Excel Visual Basic Editor (VBE), disponível na guia DESENVOLVEDOR na Faixa de Opções. Quando você grava uma macro, o Excel gera o código VBA. Se você deseja apenas gravar uma macro e executá-la, não há necessidade de aprender Excel VBA. No entanto, se você quiser modificar uma macro, só poderá fazer isso modificando o código VBA no editor VBA do Excel.
Você aprenderá como gravar uma macro simples e executá-la com os comandos do Excel no capítulo - Criando uma macro simples. Você aprenderá mais sobre macros e sobre como criar e / ou modificar macros no editor Excel VBA nos capítulos posteriores.
Livro de trabalho macro pessoal
Uma macro pode ser salva na mesma pasta de trabalho de onde você a gravou. Nesse caso, você pode executar a macro apenas a partir dessa pasta de trabalho e, portanto, deve mantê-la aberta. O Excel oferece uma maneira alternativa de armazenar todas as suas macros. É a pasta de trabalho de macro pessoal, onde você pode salvar suas macros, o que permite que você execute essas macros a partir de qualquer pasta de trabalho.
Você aprenderá sobre a Pasta de trabalho de macros pessoais no capítulo - Salvando todas as suas macros em uma única pasta de trabalho.
Segurança Macro
As macros serão armazenadas como código VBA no Excel. Como acontece com qualquer outro código, o código de macro também é suscetível a códigos maliciosos que podem ser executados quando você abre uma pasta de trabalho. Esta é uma ameaça ao seu computador. A Microsoft forneceu o recurso de Segurança de macro que ajuda você a proteger seu computador contra esses vírus de macro.
Você aprenderá mais sobre isso no capítulo - Segurança de macro.
Referências absolutas e referências relativas
Ao gravar uma macro, você pode usar referências absolutas ou relativas para as células nas quais está clicando. Referências absolutas fazem sua macro funcionar nas mesmas células onde você gravou a macro. Por outro lado, referências relativas fazem sua macro rodar na célula ativa.
Você aprenderá sobre isso nos capítulos - Usando referências absolutas para uma macro e Usando referências relativas para uma macro.
Código de macro em VBA
Você pode gravar e executar macros do Excel, mesmo se não conhecer o Excel VBA. No entanto, se você tiver que modificar uma macro gravada ou criar uma macro escrevendo o código VBA, você deve aprender Excel VBA. Você pode consultar o tutorial do Excel VBA nesta biblioteca de tutoriais para este
No entanto, você deve saber como visualizar o código de macro. Você pode aprender como acessar o editor VBA no Excel e sobre as diferentes partes do editor VBA no capítulo - Excel VBA.
Você pode aprender como visualizar o código de macro no editor Excel VBA e pode entender o código de macro no capítulo - Compreendendo o código de macro.
Atribuição de macros a objetos
Você pode atribuir uma macro a um objeto, como uma forma, um gráfico ou um controle. Então, você pode executar a macro clicando naquele objeto. Você aprenderá sobre isso no capítulo - Atribuindo macros a objetos.
Executando Macros
O Excel oferece várias maneiras de executar uma macro. Você pode escolher a forma como deseja executar uma macro. Você aprenderá sobre essas diferentes maneiras possíveis de executar uma macro no capítulo - Executando uma macro.
Criando uma macro usando o editor VBA
Se você decidir escrever o código de macro, você pode aprender no capítulo - Criando uma macro usando o editor VBA. No entanto, o pré-requisito é que você tenha conhecimento do Excel VBA.
Editando uma Macro
Você pode modificar o código de macro no editor Excel VBA. Se você deseja fazer alterações extensas, deve ter conhecimento de Excel VBA. Mas, se você quiser fazer apenas pequenas alterações no código ou se quiser copiar o código VBA de uma macro gravada para outra macro, pode consultar o capítulo - Editando uma macro.
Você pode renomear uma macro e até mesmo excluí-la. Você aprenderá sobre isso também no mesmo capítulo.
Formulários de usuário
Um formulário é normalmente usado para coletar as informações necessárias. Será autoexplicativo, tornando a tarefa simples. Formulários de usuário do Excel criados a partir do editor Excel VBA têm a mesma finalidade, fornecendo as opções familiares como caixas de texto, caixas de seleção, botões de opção, caixas de listagem, caixas de combinação, barras de rolagem, etc.
Você aprenderá como criar um Formulário de Usuário e como usar os diferentes controles no capítulo - Formulários de Usuário.
Depuração de código de macro
Às vezes, uma macro pode não funcionar conforme o esperado. Você pode ter criado a macro ou pode estar usando uma macro fornecida por alguém. Você pode depurar o código de macro da mesma forma que depura qualquer outro código para descobrir os defeitos e corrigi-los. Você aprenderá sobre isso no capítulo - Depurando código de macro.
Configurando uma macro para executar ao abrir uma pasta de trabalho
Você pode fazer sua macro executar automaticamente ao abrir uma pasta de trabalho. Você pode fazer isso criando uma macro Auto_Run ou escrevendo o código VBA para o evento de abertura da pasta de trabalho. Você aprenderá isso no capítulo - Configurando uma macro para executar ao abrir uma pasta de trabalho.
Você pode criar uma macro com comandos do Excel registrando os pressionamentos de teclas e cliques do mouse, dando um nome à macro e especificando como armazená-la. Uma macro assim gravada pode ser executada com um comando do Excel.
Suponha que você tenha que coletar certos resultados repetidamente no seguinte formato -
Em vez de criar a tabela a cada vez, você pode ter uma macro para fazer isso por você.
Gravando uma Macro
Para gravar uma macro, faça o seguinte -
- Clique na guia EXIBIR na Faixa de Opções.
- Clique em Macros no grupo Macros.
- Selecione Gravar Macro na lista suspensa.
o Record Macro a caixa de diálogo aparece.
Tipo MyFirstMacro na caixa Nome da macro.
Tipo A Simple Macro na caixa Descrição e clique em OK.
Lembre-se de que quaisquer pressionamentos de tecla e cliques do mouse que você fizer, serão registrados agora.
Clique na célula B2.
Crie a mesa.
Clique em uma célula diferente na planilha.
Clique na guia EXIBIR na Faixa de Opções.
Clique em macros.
Selecione Stop Recording na lista suspensa.
Sua gravação de macro está concluída.
A primeira etapa para clicar em uma célula específica é importante, pois informa onde exatamente a macro deve começar a colocar as etapas registradas. Assim que terminar a gravação, você deve clicar em Parar gravação para evitar a gravação de etapas desnecessárias.
Executando uma Macro
Você pode executar a macro que gravou quantas vezes quiser. Para executar a macro, faça o seguinte -
- Clique em uma nova planilha.
Observe a célula ativa. Em nosso caso, é A1.
Clique no VIEW guia na faixa de opções.
Clique Macros.
Selecione View Macros na lista suspensa.
A caixa de diálogo Macro é exibida.
Apenas a macro que você gravou aparece na lista de macros.
Clique no nome da macro - MyFirstMacro na caixa de diálogo Macro. A descrição que você digitou durante a gravação da macro será exibida. A descrição da macro permite que você identifique com que finalidade você gravou a macro.
Clique no botão Executar. A mesma tabela que você criou durante a gravação da macro aparecerá em apenas uma fração de segundo.
Você descobriu a varinha mágica que o Excel oferece para economizar tempo em tarefas rotineiras. Você observará o seguinte -
Embora a célula ativa antes de executar a macro fosse A1, a tabela é colocada na célula B2 conforme você registrou.
Além disso, a célula ativa tornou-se E2, pois você clicou nessa célula antes de interromper a gravação.
Você pode executar a macro em várias planilhas com diferentes células ativas antes de executar a macro e observar as mesmas condições fornecidas acima. Apenas anote isso e você entenderá mais tarde neste tutorial por que isso ocorreu.
Você também pode ter uma gravação de macro que coloca suas etapas gravadas na célula ativa. Você aprenderá a fazer isso conforme avança no tutorial.
Armazenando uma Macro
Você pode estar se perguntando como salvar as macros que são criadas. Neste contexto, você precisa saber -
- Armazenando uma macro
- Salvando um arquivo habilitado para macro
À medida que cria uma macro, você pode escolher onde armazená-la. Você pode fazer isso noRecord Macro caixa de diálogo.
Clique na caixa - Store macro in. As três opções a seguir estão disponíveis -
- Este manual.
- Nova pasta de trabalho.
- Livro de trabalho macro pessoal
Esta apostila
Esta é a opção padrão. A macro será armazenada em sua pasta de trabalho atual de onde você criou a macro.
Novo Livro de Trabalho
Esta opção, embora disponível, não é recomendada. Você solicitará ao Excel para armazenar a macro em uma nova pasta de trabalho diferente e, na maioria das vezes, isso não é necessário.
Livro de trabalho macro pessoal
Se você criar várias macros para usar em suas pastas de trabalho, a Pasta de trabalho de macros pessoais fornece a facilidade de armazenar todas as macros em um só lugar. Você aprenderá mais sobre essa opção no próximo capítulo.
Salvando um arquivo habilitado para macro
Se você tivesse escolhido This Workbook como opção para armazenar a macro, você precisará salvar sua pasta de trabalho junto com a macro.
Tente salvar a pasta de trabalho. Por padrão, você solicitaria ao Excel para salvar a pasta de trabalho como um arquivo .xls. O Excel exibe uma mensagem dizendo que um projeto VB do recurso do Excel não pode ser salvo em uma pasta de trabalho livre de macro, conforme mostrado abaixo.
Note- Se você clicar em Sim, o Excel salvará sua pasta de trabalho como um arquivo .xls sem macro e a macro armazenada com a opção Esta pasta de trabalho não será salva. Para evitar isso, o Excel oferece a opção de salvar sua pasta de trabalho como uma pasta de trabalho habilitada para macro que terá a extensão .xlsm.
- Clique em Não na caixa de mensagem de aviso.
- Selecione Pasta de trabalho habilitada para macro do Excel (* .xlsm) em Salvar como tipo.
- Clique em Salvar.
Você aprenderá mais sobre isso nos capítulos posteriores deste tutorial.
O Excel oferece a possibilidade de armazenar todas as suas macros em uma única pasta de trabalho. A pasta de trabalho é chamada de Pasta de trabalho macro pessoal - Pessoal.xlsb. É uma pasta de trabalho oculta armazenada em seu computador, que abre sempre que você abre o Excel. Isso permite que você execute suas macros a partir de qualquer pasta de trabalho. Haverá uma única pasta de trabalho macro pessoal por computador e você não pode compartilhá-la entre computadores. Você pode exibir e executar as macros em sua pasta de trabalho macro pessoal de qualquer pasta de trabalho em seu computador.
Salvando macros na pasta de trabalho pessoal de macros
Você pode salvar macros em sua pasta de trabalho pessoal de macros, selecionando-a como opção de armazenamento enquanto grava as macros.
Selecione Pasta de trabalho pessoal de macro na lista suspensa na categoria Store macro in.
- Grave sua segunda macro.
- Forneça detalhes da macro na caixa de diálogo Gravar Macro, conforme mostrado abaixo.
- Clique OK.
Sua gravação começa. Crie uma tabela conforme mostrado abaixo.
Pare de gravar.
Clique na guia EXIBIR na Faixa de Opções.
Clique em macros.
Selecione View Macrosna lista suspensa. A caixa de diálogo Macro é exibida.
O nome da macro aparece com um prefixo PERSONAL.XLSB! indicando que a macro está na pasta de trabalho pessoal de macros.
Salve sua pasta de trabalho. Ele será salvo como um arquivo .xls, pois a macro não está em sua pasta de trabalho e feche o Excel.
Você receberá a seguinte mensagem sobre como salvar as alterações na pasta de trabalho macro pessoal -
Clique no botão Salvar. Sua macro é salva noPersonal.xlsb arquivo em seu computador.
Ocultar / Reexibir pasta de trabalho macro pessoal
A pasta de trabalho de macros pessoais ficará oculta por padrão. Quando você inicia o Excel, a pasta de trabalho de macro pessoal é carregada, mas você não pode vê-la porque está oculta. Você pode exibi-lo da seguinte maneira -
Clique no VIEW guia na faixa de opções.
Clique em Unhide no grupo Window.
A caixa de diálogo Reexibir é exibida.
PERSONAL.XLSB aparece na caixa Reexibir pasta de trabalho e clique em OK.
Agora você pode visualizar as macros salvas na pasta de trabalho pessoal de macros.
Para ocultar a pasta de trabalho macro pessoal, faça o seguinte -
- Clique na pasta de trabalho macro pessoal.
- Clique na guia EXIBIR na Faixa de Opções.
- Clique em Ocultar na Faixa de Opções.
Execução de macros salvas na pasta de trabalho pessoal de macros
Você pode executar as macros salvas na pasta de trabalho de macro pessoal de qualquer pasta de trabalho. Para executar as macros, não faz diferença se a pasta de trabalho pessoal da macro está oculta ou não.
- Clique em Exibir macros.
- Selecione o nome da macro na lista de macros.
- Clique no botão Executar. A macro será executada.
Adicionar / excluir macros na pasta de trabalho pessoal de macros
Você pode adicionar mais macros na pasta de trabalho de macro pessoal selecionando-a na opção Armazenar macro em enquanto grava as macros, como você viu anteriormente.
Você pode excluir uma macro na pasta de trabalho macro pessoal da seguinte maneira -
- Certifique-se de que a pasta de trabalho macro pessoal seja exibida.
- Clique no nome da macro na caixa de diálogo Exibir macros.
- Clique no botão Excluir.
Se a pasta de trabalho de macro pessoal estiver oculta, você receberá uma mensagem dizendo “Não é possível editar uma macro em uma pasta de trabalho oculta”.
Exiba a pasta de trabalho da macro pessoal e exclua a macro selecionada.
A macro não aparecerá na lista de macros. No entanto, ao criar uma nova macro e salvá-la em sua pasta de trabalho pessoal ou excluir quaisquer macros que ela contenha, você será solicitado a salvar a pasta de trabalho pessoal como no caso em que a salvou pela primeira vez.
As macros que você cria no Excel seriam escritas na linguagem de programação VBA (Visual Basic for Applications). Você aprenderá sobre o código de macro do Excel em capítulos posteriores. Como você sabe, quando existe um código executável, existe uma ameaça de vírus. As macros também são suscetíveis a vírus.
O que são vírus de macro?
O Excel VBA no qual as macros são gravadas tem acesso à maioria das chamadas de sistema do Windows e é executado automaticamente quando as pastas de trabalho são abertas. Portanto, há uma ameaça potencial da existência de um vírus escrito como uma macro e está oculto no Excel que é executado ao abrir uma pasta de trabalho. Portanto, as macros do Excel podem ser muito perigosas para o seu computador de várias maneiras. No entanto, a Microsoft tomou medidas adequadas para proteger as pastas de trabalho contra vírus de macro.
A Microsoft introduziu a segurança de macro para que você possa identificar em quais macros pode confiar e quais não pode.
Pastas de trabalho do Excel habilitadas para macro
O recurso de segurança de macro mais importante do Excel é - extensões de arquivo.
As pastas de trabalho do Excel serão salvas com a extensão de arquivo .xlsx por padrão. Você sempre pode confiar nas pastas de trabalho com extensão de arquivo .xlsx, pois elas são incapazes de armazenar uma macro e não trazem nenhuma ameaça.
As pastas de trabalho do Excel com macros são salvas com a extensão de arquivo .xlsm. Eles são denominados como Pastas de trabalho do Excel habilitadas para macro. Antes de abrir essas pastas de trabalho, verifique se as macros que elas contêm não são maliciosas. Para isso, você deve garantir que pode confiar na origem deste tipo de pasta de trabalho.
Maneiras de confiar na pasta de trabalho habilitada para macro
O Excel fornece três maneiras de confiar em uma pasta de trabalho habilitada para macro.
Colocando as pastas de trabalho habilitadas para macro em uma pasta confiável
Verificar se uma macro está assinada digitalmente
Habilitando mensagens de alerta de segurança antes de abrir pastas de trabalho habilitadas para macro
Colocando as pastas de trabalho habilitadas para macro em uma pasta confiável
Esta é a melhor e mais fácil maneira de gerenciar a segurança de macro. O Excel permite que você designe uma pasta como um local confiável. Coloque todas as suas pastas de trabalho habilitadas para macro nessa pasta confiável. Você pode abrir pastas de trabalho habilitadas para macro que são salvas neste local sem avisos ou restrições.
Verificar se uma macro está assinada digitalmente
As assinaturas digitais confirmam a identidade do autor. Você pode configurar o Excel para executar macros assinadas digitalmente de pessoas confiáveis sem avisos ou restrições. O Excel também avisará o destinatário se tiver sido alterado desde que o autor o assinou.
Habilitando mensagens de alerta de segurança antes de abrir pastas de trabalho habilitadas para macro
Quando você abre uma pasta de trabalho, o Excel avisa que a pasta de trabalho contém macros e pergunta se você deseja habilitá-las. Você pode clicar noEnable Content botão se a fonte da pasta de trabalho for confiável.
Você pode definir qualquer uma dessas três opções na Central de Confiabilidade nas Opções do Excel.
Se você trabalha em uma organização, o administrador do sistema pode ter alterado as configurações padrão para impedir que alguém altere as configurações. A Microsoft informa que você não altere as configurações de segurança na Central de Confiabilidade, pois as consequências podem ser perda de dados, roubo de dados ou comprometimento da segurança do seu computador ou rede.
No entanto, você pode aprender as configurações de segurança de macro nas seções a seguir e verificar se elas devem ser alteradas. Você deve usar seu próprio instinto para decidir sobre qualquer uma dessas opções com base no contexto e seu conhecimento da origem do arquivo.
Configurações de segurança de macro na Central de confiabilidade
As configurações de macro estão localizadas na Central de Confiabilidade nas Opções do Excel. Para acessar a Central de confiabilidade, faça o seguinte -
Clique na guia ARQUIVO na faixa de opções.
Clique em Opções. A caixa de diálogo Opções do Excel é exibida.
Clique Trust Center no painel esquerdo.
Clique no Trust Center Settings botão na Central de confiança do Microsoft Excel.
o Trust Center a caixa de diálogo aparece.
Você verá várias opções disponíveis na Central de confiabilidade do Excel no painel esquerdo. Você aprenderá sobre as opções relacionadas às macros do Excel nas seções a seguir.
Configurações de macro
As configurações de macro estão localizadas na Central de confiabilidade.
Em Configurações de macro, quatro opções estão disponíveis.
Disable all macros without notification - Se esta opção for escolhida, macros e alertas de segurança sobre macros serão desativados.
Disable all macros with notification- As macros são desabilitadas, mas os alertas de segurança aparecem se houver macros presentes. Você pode habilitar macros caso a caso.
Disable all macros except digitally signed macros- As macros são desabilitadas, mas os alertas de segurança aparecem se houver macros presentes. No entanto, se a macro for assinada digitalmente por um editor confiável, a macro será executada se você confiar no editor. Se não confiar no editor, você será notificado para habilitar a macro assinada e confiar no editor.
Enable all macros (not recommended, susceptible to macro viruses)- Se esta opção for escolhida, todas as macros serão executadas. Esta configuração torna seu computador vulnerável a códigos potencialmente maliciosos.
Você tem uma opção de segurança adicional em Configurações de macro do desenvolvedor com uma caixa de seleção.
Trust access to the VBA project object model.
Esta opção permite o acesso programático ao modelo de objeto do Visual Basic for Applications (VBA) de um cliente de automação.
Esta opção de segurança é para código escrito para automatizar um programa do Office e manipular o ambiente VBA e o modelo de objeto.
É uma configuração por usuário e por aplicativo e nega o acesso por padrão, impedindo que programas não autorizados criem códigos prejudiciais de auto-replicação.
Para que os clientes de automação acessem o modelo de objeto VBA, o usuário que executa o código deve conceder acesso. Para ativar o acesso, marque a caixa de seleção.
Definição de um local confiável
Se você acha que uma pasta de trabalho habilitada para macro é de uma fonte confiável, é melhor mover o arquivo para o local confiável identificado pelo Excel, em vez de alterar as configurações padrão da Central de Confiabilidade para uma configuração de segurança de macro menos segura.
Você pode encontrar as configurações da pasta confiável na Central de confiabilidade.
Clique em Locais confiáveis na caixa de diálogo Central de confiabilidade. Os locais confiáveis definidos pelo Microsoft Office são exibidos no lado direito.
Você pode adicionar novos locais, remover os locais existentes e modificar os locais existentes. Os locais confiáveis identificados serão tratados pelo Microsoft office como confiáveis para a abertura de arquivos. No entanto, se você adicionar ou modificar um local, certifique-se de que o local seja seguro.
Você também pode encontrar as opções que o Office não recomenda, como locais na Internet.
Macros assinadas digitalmente de fontes confiáveis
A Microsoft oferece uma opção para acomodar macros assinadas digitalmente. No entanto, mesmo se uma macro for assinada digitalmente, você precisa garantir que seja de um editor confiável.
Você encontrará os editores confiáveis na Central de Confiabilidade.
Clique Trusted Publishersna caixa de diálogo Trust Center. Uma lista de certificados aparece no lado direito com os detalhes - Emitido para, Emitido por e Data de expiração.
Selecione um certificado e clique em Exibir.
As informações do certificado são exibidas.
Como você aprendeu anteriormente neste capítulo, você pode definir uma opção para executar uma macro assinada digitalmente apenas se você confiar no editor. Se você não confiar no editor, será notificado para habilitar a macro assinada e confiar no editor.
Usando Mensagens de Aviso
A Barra de Mensagens exibe um alerta de segurança quando há macros no arquivo que você está abrindo. A barra de mensagens amarela com um ícone de escudo alerta que as macros estão desabilitadas.
Se você souber que a macro ou macros são de uma fonte confiável, você pode clicar no botão Ativar Conteúdo na Barra de Mensagens para ativar as macros.
Você pode desativar a opção Barra de Mensagens se não quiser alertas de segurança. Por outro lado, você pode habilitar a opção Barra de Mensagens para aumentar a segurança.
Ativando / desativando alertas de segurança na barra de mensagens
Você pode ativar / desativar os alertas de segurança com as barras de mensagens da seguinte forma -
- Clique na guia ARQUIVO na faixa de opções.
- Clique em Opções. A caixa de diálogo Opções do Excel é exibida.
- Clique em Trust Center.
- Clique no botão Configurações da Central de confiabilidade.
- Clique na barra de mensagens.
As configurações da barra de mensagens para todos os aplicativos do Office são exibidas.
Existem duas opções em - Showing the Message Bar.
Option 1 - Mostrar a barra de mensagens em todos os aplicativos quando o conteúdo ativo, como macros, está bloqueado.
Esta é a opção padrão. A barra de mensagens aparece quando um conteúdo potencialmente inseguro foi desativado.
Se você tivesse selecionado - Disable all macros without notification in the Macro Settings of the Trust Center, esta opção não é selecionada e a Barra de Mensagens não aparece.
Option 2 - Nunca mostre informações sobre conteúdo bloqueado.
Se esta opção for selecionada, ela desabilita a Barra de Mensagens e nenhum alerta aparece sobre problemas de segurança, independentemente de quaisquer configurações de segurança na Central de Confiabilidade.
As macros do Excel podem ser gravadas com referências absolutas ou referências relativas. Uma macro gravada com referências absolutas coloca as etapas gravadas exatamente nas células onde foram gravadas, independente da célula ativa. Por outro lado, uma macro gravada com referências relativas pode realizar as tarefas gravadas em diferentes partes da planilha.
Você aprenderá sobre referências absolutas para macro neste capítulo. Você aprenderá sobre referências relativas no próximo capítulo.
Suponha que você tenha que enviar um relatório sobre o trabalho de sua equipe no final de cada dia no seguinte formato -
Agora, o relatório deve ser colocado na célula B2 e deve estar no formato fornecido.
Um relatório de amostra preenchido será como mostrado abaixo -
Exceto pelos dados nas células a seguir, as informações são constantes para cada relatório que você gerar para o projeto.
- C3 - Relatório para a data.
- C13 - Nº de tarefas concluídas hoje.
- C14 - Nº total de tarefas concluídas.
- C15 -% Trabalho concluído.
Destes também, em C3 (Relatório de Data) você pode colocar a função Excel = TODAY ()que coloca a data do seu relatório sem a sua intervenção. Além disso, na célula C15, você pode ter a fórmula C14 / C12 e formatar a célula C15 como porcentagem para que o% de trabalho concluído seja calculado pelo Excel para você.
Isso deixa você com apenas duas células - C13 e C14, que precisam ser preenchidas por você todos os dias. Portanto, o ideal seria ter informações para o restante das células, sempre que for necessário criar o relatório. Isso economiza tempo para você e você pode fazer a atividade mundana de relatórios em apenas alguns minutos.
Agora, suponha que você precise enviar tais relatórios para três projetos. Você pode imaginar o tempo que pode economizar e assumir um trabalho mais desafiador do dia e, claro, obter os elogios de sua gerência.
Você pode fazer isso gravando uma macro por projeto e executando-os diariamente para gerar os relatórios necessários em questão de apenas alguns minutos. No entanto, toda vez que você executa a macro, o relatório deve aparecer na planilha conforme fornecido acima, independentemente da célula ativa. Para isso, você deve usar referências absolutas.
Garantindo Referências Absolutas
Para gravar uma macro com referências absolutas, você deve garantir que a macro está sendo gravada a partir da célula onde as etapas devem começar. Isso significa que, no caso do exemplo dado na seção anterior, você precisa fazer o seguinte -
- Comece a gravar a macro.
- Crie uma nova planilha.
- Clique em qualquer célula diferente de B2 na nova planilha.
- Clique na célula B2.
- Continue gravando a macro.
Isso criará uma nova planilha para cada novo relatório e obterá o formato do relatório colocado na célula B2 toda vez que você executar a macro.
Note - As três primeiras etapas fornecidas acima são essenciais.
Se você não criar uma nova planilha, ao executar a macro, ela colocará tudo o que você gravou na mesma planilha no mesmo lugar. Não é isso que você quer. Você precisa ter cada relatório em uma planilha diferente.
Se você não clicar em uma célula diferente no início da gravação, mesmo se a célula ativa for B2, o Excel colocará as etapas gravadas na célula ativa. Quando você executa a macro, ela coloca o formato de relatório gravado em qualquer parte da planilha com base na célula ativa. Ao clicar explicitamente em uma célula diferente de B2 e, em seguida, na célula B2, você está dizendo ao gravador para sempre colocar suas etapas de macro na célula B2.
Gravando uma Macro
Você pode começar a gravar a macro com o Record Macrocomando na faixa de opções na guia EXIBIR → Macros. Você também pode clicar noStart Recording Macro botão presente no lado esquerdo da barra de tarefas do Excel.
Comece a gravar a macro. oRecord Macro a caixa de diálogo aparece.
Dê um nome significativo para identificar a macro como um relatório de um projeto específico.
Selecione esta pasta de trabalho em Store macro in, pois você produzirá relatórios apenas a partir desta pasta de trabalho específica.
Dê uma descrição para sua macro e clique em OK.
Sua macro começa a gravar.
Crie uma nova planilha. Isso garante que seu novo relatório estará em uma nova planilha.
Clique em qualquer célula diferente de B2 na nova planilha.
Clique na célula B2. Isso garante que a macro coloque suas etapas gravadas em B2 sempre.
Crie o formato do relatório.
Preencha as informações estáticas para o relatório do projeto.
Coloque = HOJE () em C3 e = C14 / C12 na célula C15.
Formate as células com datas.
Pare de gravar a macro.
Você pode parar de gravar a macro com o Stop Recording na faixa de opções na guia EXIBIR → Macros ou clicando no botão Parar gravação de macro presente no lado esquerdo da barra de tarefas do Excel.
Sua macro de relatório de projeto está pronta. Salve a pasta de trabalho como uma pasta de trabalho habilitada para macro (com extensão .xlsm).
Executando uma Macro
Você pode gerar qualquer número de relatórios em alguns segundos apenas executando a macro.
- Clique no botão EXIBIR na Faixa de Opções.
- Clique em macros.
- Selecione Exibir macros na lista suspensa. A caixa de diálogo Macro é exibida.
- Clique na macro Report_ProjectXYZ.
- Clique no botão Executar.
Uma nova planilha será criada em sua pasta de trabalho, com o estêncil de relatório criado nela na célula B2.
As macros de referência relativa registram um deslocamento da célula ativa. Essas macros serão úteis se você tiver que repetir as etapas em vários locais da planilha.
Suponha que você precise analisar os dados de eleitores coletados em 280 constituintes. Para cada constituinte, os seguintes detalhes são coletados -
- Nome do grupo constituinte.
- População total no distrito eleitoral.
- Número de eleitores no distrito.
- Número de eleitores do sexo masculino, e
- Número de eleitores femininos.
Os dados são fornecidos a você em uma planilha conforme abaixo.
Não é possível analisar os dados no formato acima. Portanto, organize os dados em uma tabela conforme mostrado abaixo.
Se você tentar organizar os dados fornecidos no formato acima -
Leva muito tempo para organizar os dados dos 280 constituintes
Pode ser sujeito a erros
Torna-se uma tarefa mundana, não permitindo que você se concentre em coisas técnicas
A solução é gravar uma macro para que você possa completar a tarefa em não mais do que alguns segundos. A macro precisa usar referências relativas, pois você moverá as linhas para baixo enquanto organiza os dados.
Usando Referências Relativas
A fim de permitir que o gravador de macro saiba que ele deve usar referências relativas, faça o seguinte -
Clique no VIEW guia na faixa de opções.
Clique Macros.
Clique Use Relative References.
Preparando o Formato de Dados
O primeiro passo para organizar os dados fornecidos acima é definir o formato dos dados em uma tabela com cabeçalhos.
Crie a linha de cabeçalhos conforme mostrado abaixo.
Gravando uma Macro
Grave a macro da seguinte forma -
Clique em Gravar macro.
Dê um nome significativo, digamos, DataArrange à macro.
Tipo = row ()- 3na célula B4. Isso ocorre porque o nº S. é o número da linha atual - as 3 linhas acima dele.
Corte as células B5, B6, B7, B8 e B9 e cole nas células C4 a C8 respectivamente.
Agora clique na célula B5. Sua tabela se parece com a mostrada abaixo.
O primeiro conjunto de dados é organizado na primeira linha da tabela. Exclua as linhas B6 - B11 e clique na célula B5.
Você pode ver que a célula ativa é B5 e o próximo conjunto de dados será colocado aqui.
Pare de gravar a macro. Sua macro para organizar os dados está pronta.
Executando uma Macro
Você precisa executar a macro repetidamente para completar a organização dos dados na tabela conforme mostrado abaixo.
A célula ativa é B5. Execute a macro. O segundo conjunto de dados será organizado na segunda linha da tabela e a célula ativa será B6.
Execute a macro novamente. O terceiro conjunto de dados será organizado na terceira linha da tabela e a célula ativa se tornará B7.
Cada vez que você executa a macro, a célula ativa avança para a próxima linha, facilitando a repetição das etapas registradas nas posições apropriadas. Isso é possível devido às referências relativas na macro.
Execute a macro até que todos os 280 conjuntos de dados estejam organizados em 280 linhas na tabela. Esse processo leva alguns segundos e, como as etapas são automatizadas, todo o exercício está livre de erros.
O Excel armazena as macros como código do Excel VBA (Visual Basic for Applications). Depois de gravar uma macro, você pode visualizar o código que é gerado, modificá-lo, copiar uma parte dele, etc. Você mesmo pode escrever um código de macro se estiver familiarizado com a programação em VBA.
Você aprenderá como criar uma macro, escrevendo um código VBA, no capítulo - Criando uma macro usando o editor VBA. Você aprenderá como modificar uma macro editando o código VBA no capítulo - Editando uma macro. Você aprenderá os recursos do Excel VBA neste capítulo.
Guia do desenvolvedor na faixa de opções
Você pode acessar o código de macro no VBA na guia Desenvolvedor na Faixa de Opções.
Se você não encontrar a guia Desenvolvedor na Faixa de Opções, será necessário adicioná-la da seguinte maneira -
Clique com o botão direito na faixa de opções.
Selecione Customize the Ribbon na lista suspensa.
o Excel Options a caixa de diálogo aparece.
Selecione Main Tabs de Customize the Ribbon lista suspensa.
Marque a caixa - Desenvolvedor na lista Guias principais e clique em OK. A guia do desenvolvedor é exibida.
Comandos de desenvolvedor para macros
Você precisa saber os comandos que são para macros na guia do desenvolvedor.
Clique na guia DEVELOPER na faixa de opções. Os seguintes comandos estão disponíveis no grupo Código -
- Visual básico
- Macros
- Macro de registro
- Use referências relativas
- Segurança Macro
O comando Visual Basic é usado para abrir o Editor VBA no Excel e o comando Macros é usado para visualizar, executar e excluir as macros.
Você já aprendeu outros comandos além do Editor VBA nos capítulos anteriores.
Editor VBA
VBA Editor ou VBE é a plataforma de desenvolvedor para VBA no Excel.
Abra a pasta de trabalho - MyFirstMacro.xlsm que você salvou anteriormente no capítulo - Criando uma macro simples, neste tutorial.
Você pode abrir o VBE de uma das duas maneiras -
Option 1 - Clique em Visual Basic no grupo Código na guia Desenvolvedor na Faixa de Opções.
Option 2 - Clique em Editar na caixa de diálogo Macro que aparece quando você clica na guia EXIBIR → Macros → Exibir macros
O VBE aparece em uma nova janela.
O nome da pasta de trabalho habilitada para macro do Excel aparece com o prefixo - Microsoft Visual Basic for Applications.
Você encontrará o seguinte no VBE -
- Explorador de projetos.
- Properties.
- Janela do módulo com código.
Explorador de Projetos
O Project Explorer é onde você encontra os nomes dos projetos VBA. Em um projeto, você encontrará nomes de planilhas e nomes de módulos. Quando você clica no nome de um módulo, o código correspondente aparece no lado direito de uma janela.
Janela de Propriedades
As propriedades são os parâmetros para objetos VBA. Quando você tem um objeto como um botão de comando, suas propriedades aparecerão na janela Propriedades.
Janela de Módulo com Código
O código de uma macro será armazenado em um módulo em VBA. Quando você seleciona uma macro e clica em Editar, o código da macro aparece na janela do módulo correspondente.
Quando você grava uma macro, o Excel a armazena como um código VBA. Você pode visualizar este código no editor VBA. Você pode entender o código e modificá-lo se tiver um conhecimento substancial do Excel VBA. Você pode consultar o tutorial do Excel VBA nesta biblioteca de tutoriais para obter uma compreensão da linguagem.
No entanto, você ainda pode visualizar o código de macro no editor Excel VBA e combiná-lo com as etapas que você gravou na macro. Você aprenderá como visualizar o código e entendê-lo para a primeira macro criada neste tutorial - MyFirstMacro.
Visualizando um código de macro no editor VBA
Para visualizar um código de macro, faça o seguinte -
- Abra a pasta de trabalho na qual você armazenou a macro.
- Clique na guia EXIBIR na faixa de opções.
- Clique em macros.
- Selecione Exibir macros na lista suspensa.
A caixa de diálogo Macro é exibida.
- Clique em MyFirstMacro na lista de macros.
- Clique no botão Editar.
O editor VBA é aberto e o código da macro MyFirstMacro é exibido.
Compreendendo as ações registradas como partes do código
Você pode navegar pelo código de macro e mapeá-los para suas etapas registradas.
- Comece a ler o código.
- Mapeie o código para as etapas registradas.
Role para baixo no código para ver mais códigos. Como alternativa, você pode ampliar a janela de código.
Observe que o código é simples. Se você aprender o Excel VBA, poderá criar macros escrevendo o código no editor VBA.
Você aprenderá como escrever um código VBA para criar uma macro no capítulo - Criando uma macro usando o editor VBA.
Suponha que você tenha criado uma macro que precisa ser executada várias vezes. Por exemplo, as macros que você criou para referências absolutas e referências relativas. Então, seria fácil para você se você pudesse executar a macro usando um clique do mouse. Você pode fazer isso atribuindo a macro a um objeto, como uma forma, um gráfico ou um controle.
Neste capítulo, você aprenderá como incluir um objeto em sua pasta de trabalho e atribuir uma macro a ele.
Lembre-se da macro que você criou usando referências relativas. A macro organiza os dados fornecidos em uma coluna em uma tabela para facilitar a análise dos dados.
Atribuindo uma macro a uma forma
Você pode inserir em sua planilha uma forma significativa com texto autoexplicativo que, ao ser clicado, executa a macro atribuída a ela.
Clique no INSERT guia na faixa de opções.
Clique Shapes no grupo Ilustrações.
Selecione qualquer uma das formas prontas que aparecem na lista suspensa. Por exemplo, a forma do fluxograma - Preparação, visto que você está no processo de preparação dos dados.
Desenhe a forma e formate-a.
Clique com o botão direito na forma e selecione Edit Text na lista suspensa.
Digite o texto dentro da forma - Executar Macro.
Formate o texto.
- Clique com o botão direito na forma.
- Selecione Atribuir macro na lista suspensa.
A caixa de diálogo Atribuir Macro é exibida. Clique no nome da macro, por exemplo, RelativeMacro e clique em OK.
A macro é atribuída à forma.
Clique na célula onde você deve executar a macro, digamos B4.
Mova o cursor (ponteiro) para a forma. O cursor (ponteiro) muda para dedo.
Agora clique na forma. A macro será executada. Basta repetir os cliques do mouse para executar a macro várias vezes e você concluirá a tarefa de organizar os dados em uma tabela em questão de segundos.
Atribuindo uma macro a um gráfico
Você pode inserir um gráfico na planilha e atribuir uma macro a ele. O gráfico pode ser escolhido para visualizar sua macro. Por exemplo, você pode ter um gráfico de tabela representando que a macro organizará os dados em uma tabela.
- Clique na guia INSERIR na faixa de opções.
- Clique em Imagens no grupo Ilustrações.
- Selecione um arquivo que contém seu gráfico.
O resto das etapas são iguais às de forma fornecidas na seção anterior.
Atribuindo uma macro a um controle
Inserir um controle VBA e atribuir uma macro a ele faz com que seu trabalho pareça profissional. Você pode inserir controles VBA da guia Desenvolvedor na Faixa de Opções.
Clique no DEVELOPER guia na faixa de opções.
Clique Insert no grupo de controles.
Selecione o ícone do botão em Form Controls na lista suspensa, conforme mostrado na captura de tela fornecida abaixo -
Clique na célula da planilha onde deseja inserir o controle de botão. A caixa de diálogo Atribuir Macro é exibida.
Clique no nome da macro e clique em OK.
O botão de controle com a macro atribuída será inserido.
- Clique com o botão direito no botão.
- Clique em Editar texto.
- Tipo - Executar macro.
- Formatar texto e redimensionar botão.
Você pode executar a macro quantas vezes quiser apenas clicando no botão repetidamente.
O uso de controles de formulário é uma maneira fácil e eficaz de interagir com o usuário. Você aprenderá mais sobre isso no capítulo - Interagindo com o usuário.
Existem várias maneiras de executar uma macro em sua pasta de trabalho. A macro teria sido salva em sua pasta de trabalho habilitada para macro ou em sua pasta de trabalho de macro pessoal, que você pode acessar de qualquer pasta de trabalho, conforme aprendeu anteriormente.
Você pode executar uma macro das seguintes maneiras -
- Executando uma macro a partir da guia Exibir
- Executando uma macro pressionando Ctrl mais uma tecla de atalho
- Executar uma macro clicando em um botão na barra de ferramentas de acesso rápido
- Executar uma macro clicando em um botão em um grupo personalizado na faixa de opções
- Executando uma macro clicando em um objeto gráfico
- Executando uma macro a partir da guia Desenvolvedor
- Executando uma Macro a partir do Editor VBA
Executando uma macro a partir da guia Exibir
Você já aprendeu a executar uma macro na guia Exibir na Faixa de Opções. Uma rápida recapitulação -
- Clique na guia EXIBIR na Faixa de Opções.
- Clique em macros.
- Selecione Exibir macros na lista suspensa.
A caixa de diálogo Macro é exibida.
- Clique no nome da macro.
- Clique no botão Executar.
Executando uma macro com tecla de atalho
Você pode atribuir uma tecla de atalho (Ctrl + tecla) para uma macro. Você pode fazer isso enquanto grava a macro noCreate Macrocaixa de diálogo. Caso contrário, você pode adicionar isso mais tarde noMacro Options caixa de diálogo.
Adicionando uma tecla de atalho durante a gravação de uma macro
- Clique na guia VER.
- Clique em macros.
- Selecione Gravar Macro na lista suspensa.
A caixa de diálogo Criar Macro é exibida.
- Digite um nome de macro
- Digite uma letra, digamos q, na caixa ao lado de Ctrl + em Tecla de atalho.
Adicionando uma tecla de atalho nas opções de macro
- Clique na guia VER.
- Clique em macros.
- Selecione Exibir macros na lista suspensa.
A caixa de diálogo Macro é exibida.
- Selecione o nome da macro.
- Clique no botão Opções.
A caixa de diálogo Opções de macro é exibida. Digite uma letra, digamos q, na caixa ao lado de Ctrl + em Tecla de atalho. Clique OK.
Para executar a macro com a tecla de atalho, pressione a tecla Ctrl e a tecla q juntas. A macro será executada.
Note- Você pode usar qualquer letra minúscula ou maiúscula para a tecla de atalho de uma macro. Se usar qualquer combinação Ctrl + letra que seja uma tecla de atalho do Excel, você a substituirá. Os exemplos incluem Ctrl + C, Ctrl + V, Ctrl + X, etc. Portanto, use sua jurisdição ao escolher as letras.
Executando uma macro por meio da barra de ferramentas de acesso rápido
Você pode adicionar um botão de macro à Barra de Ferramentas de Acesso Rápido e executar a macro clicando nele. Esta opção seria útil ao armazenar suas macros na pasta de trabalho pessoal de macros. O botão adicionado aparecerá na Barra de Ferramentas de Acesso Rápido em qualquer pasta de trabalho que você abrir, tornando mais fácil para você executar a macro.
Suponha que você tenha uma macro com o nome MyMacro em sua pasta de trabalho de macro pessoal.
Para adicionar o botão de macro à Barra de Ferramentas de Acesso Rápido, faça o seguinte -
Clique com o botão direito na Barra de Ferramentas de Acesso Rápido.
Selecione Customize Quick Access Toolbar na lista suspensa.
A caixa de diálogo Opções do Excel é exibida. Selecione Macros na lista suspensa na categoria-Choose commands from.
Uma lista de macros aparece em Macros.
- Clique em PERSONAL.XLSB! MyMacro.
- Clique no botão Adicionar.
O nome da macro aparece no lado direito, com uma imagem do botão da macro.
Para alterar a imagem do botão macro, proceda da seguinte forma -
- Clique no nome da macro na caixa à direita.
- Clique no botão Modificar.
o Modify Buttona caixa de diálogo aparece. Selecione um símbolo para defini-lo como o ícone do botão.
Modifique o nome de exibição que aparece quando você coloca o ponteiro na imagem do botão na barra de ferramentas de acesso rápido para um nome significativo, digamos, Executar MyMacro para este exemplo. Clique OK.
O nome da macro e o símbolo do ícone mudam no painel direito. Clique OK.
O botão de macro aparece na barra de ferramentas de acesso rápido e o nome de exibição da macro aparece quando você posiciona o ponteiro sobre o botão.
Para executar a macro, basta clicar no botão da macro na Barra de Ferramentas de Acesso Rápido.
Executando uma macro no grupo personalizado
Você pode adicionar um grupo personalizado e um botão personalizado na faixa de opções e atribuir sua macro ao botão.
- Clique com o botão direito na faixa de opções.
- Selecione Personalizar a faixa de opções na lista suspensa.
o Excel Options a caixa de diálogo aparece.
- Selecione Guias principais em Personalizar a faixa de opções.
- Clique em Nova guia.
A nova guia (personalizada) aparece na lista Guias principais.
- Clique em Nova guia (personalizado).
- Clique no botão Novo Grupo.
O Novo grupo (personalizado) aparece em Nova guia (personalizado).
- Clique em Nova guia (personalizado).
- Clique no botão Renomear.
A caixa de diálogo Renomear é exibida. Digite o nome da guia personalizada que aparece nas guias principais da faixa de opções, diga - Minhas macros e clique em OK.
Note- Todas as guias principais da faixa de opções estão em letras maiúsculas. Você pode usar o seu critério para usar letras maiúsculas ou minúsculas. Escolhi letras minúsculas com letras maiúsculas nas palavras para que se destaquem nas guias padrão.
O novo nome da guia muda para Minhas macros (personalizado).
- Clique em Novo grupo (personalizado).
- Clique no botão Renomear.
o Renamea caixa de diálogo aparece. Digite o nome do grupo na caixa de diálogo Nome para exibição e clique em OK.
O novo nome do grupo muda para Macros Pessoais (personalizadas).
Clique em Macros no painel esquerdo em Choose commands from.
- Selecione o nome da macro, digamos - MyFirstMacro na lista de macros.
- Clique no botão Adicionar.
A macro será adicionada ao grupo Macros Pessoais (Personalizadas).
- Clique em Minhas macros (personalizadas) na lista.
- Clique nas setas para mover a guia para cima ou para baixo.
A posição da guia na lista de guias principais determina onde ela será colocada na Faixa de Opções. Clique OK.
Sua guia personalizada - Minhas macros aparece na faixa de opções.
Clique na guia - Minhas macros. O grupo Macros pessoais aparece na faixa de opções. MyFirstMacro aparece no grupo Macros Pessoais. Para executar a macro, basta clicar em MyFirstMacro no grupo Macros Pessoais.
Executando uma macro clicando em um objeto
Você pode inserir um objeto como uma forma, um gráfico ou um controle VBA em sua planilha e atribuir uma macro a ele. Para executar a macro, basta clicar no objeto.
Para obter detalhes sobre como executar uma macro usando objetos, consulte o capítulo - Atribuindo macros a objetos.
Executando uma macro a partir da guia Desenvolvedor
Você pode executar uma macro na guia Desenvolvedor.
- Clique na guia Desenvolvedor na Faixa de Opções.
- Clique em macros.
A caixa de diálogo Macro é exibida. Clique no nome da macro e em Executar.
Executando uma Macro a partir do Editor VBA
Você pode executar uma macro a partir do editor VBA da seguinte maneira -
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
Você pode criar uma macro escrevendo o código no editor VBA. Neste capítulo, você aprenderá onde e como escrever o código de uma macro.
Objetos e módulos VBA
Antes de começar a codificar para uma macro, entenda os objetos e módulos do VBA.
- Abra a pasta de trabalho habilitada para macro com sua primeira macro.
- Clique na guia DEVELOPER na faixa de opções.
- Clique em Visual Basic no grupo Code.
A janela do editor VBA é aberta.
Você observará o seguinte na janela do Projects Explorer -
Sua pasta de trabalho habilitada para macro - MyFirstMacro.xlsm aparece como um Projeto VBA.
Todas as planilhas e a pasta de trabalho aparecem como objetos do Microsoft Excel no projeto.
Módulo1 aparece em Módulos. Seu código macro está localizado aqui.
Clique em Módulo1.
Clique na guia Exibir na faixa de opções.
Selecione Código na lista suspensa.
O código de sua macro aparece.
Criação de macro por codificação
Em seguida, crie uma segunda macro na mesma pasta de trabalho - desta vez escrevendo o código VBA.
Você pode fazer isso em duas etapas -
Insira um botão de comando.
Escreva o código informando as ações a serem realizadas ao clicar no botão de comando.
Inserindo um botão de comando
Crie uma nova planilha.
Clique na nova planilha.
Clique no botão DEVELOPER na faixa de opções.
Clique em Inserir no grupo Controles.
Selecione o ícone do botão de Form Controls.
- Clique na planilha onde deseja colocar o botão de comando.
- A caixa de diálogo Atribuir Macro é exibida.
O editor do Visual Basic é exibido.
Você observará o seguinte -
- Um novo módulo - Módulo2 é inserido no Explorador de Projetos.
- A janela de código com o título Module2 (Code) é exibida.
- Um subprocedimento Button1_Click () é inserido no código do Módulo2.
Codificando a Macro
Sua codificação é feita pela metade pelo próprio editor do VBA.
Por exemplo, digite MsgBox “Best Wishes to You!”no subprocedimento Button1_Click (). Uma caixa de mensagem com a string fornecida será exibida quando o botão de comando for clicado.
É isso aí! Seu código de macro está pronto para ser executado. Como você sabe, o código VBA não requer compilação, pois é executado com um interpretador.
Executando a Macro a partir do Editor VBA
Você pode testar seu código de macro no próprio editor de VBA.
Clique na guia Executar na Faixa de Opções.
Selecione Executar Sub / UserForm na lista suspensa. A caixa de mensagem com a string que você digitou aparece na sua planilha.
Você pode ver que o botão está selecionado. Clique em OK na caixa de mensagem. Você será levado de volta ao editor do VBA.
Executando a macro da planilha
Você pode executar a macro que codificou qualquer número de vezes na planilha.
- Clique em algum lugar da planilha.
- Clique no botão. A caixa Mensagem é exibida na planilha.
Você criou uma macro escrevendo o código VBA. Como você pode observar, a codificação VBA é simples.
Você aprendeu como escrever código de macro no editor VBA no capítulo anterior. Você pode editar o código da macro, renomear uma macro e excluir uma macro.
Se você domina o Excel VBA, escrever código ou modificar código para uma macro é uma tarefa trivial. Você pode editar o código de macro como quiser. Se você deseja fazer apenas algumas mudanças simples no código da macro, pode até copiar o código da macro de um lugar para outro.
Copiando um código de macro
Você criou duas macros - MyFirstMacro e Button1_Click na pasta de trabalho habilitada para macro MyFirstMacro.xlsm. Você criou a primeira macro gravando as etapas e a segunda macro escrevendo o código. Você pode copiar o código da primeira macro para a segunda macro.
Abra a pasta de trabalho MyFirstMacro.xlsm.
Clique na guia Desenvolvedor na Faixa de Opções.
Clique em Visual Basic. O editor do Visual Basic é aberto.
Abra o código para Módulo1 (código de macro MyFirstMacro) e Módulo2 (código de macro Button1_Click ()).
Clique na guia Janela na faixa de opções.
Selecione Tile Horizontally na lista suspensa.
Você pode ver o código das duas macros nas janelas lado a lado.
Copie a linha MsgBox no código do Módulo2.
Cole-o acima dessa linha.
Modifique a string como -
MsgBox “Olá, mundo!”
Copie o código a seguir do Módulo1.
Cole-o no código do Módulo2 entre as duas linhas de código MsgBox.
Clique no ícone Salvar para salvar o código.
Clique no botão na planilha do Excel. Uma caixa de mensagem aparece com a mensagem - Hello World! Clique OK.
Os dados da tabela aparecem (de acordo com o código que você copiou) e a caixa de mensagem aparece com a mensagem - Muitas felicidades para você!
Você pode modificar o código em apenas algumas etapas. Esta é a tarefa mais fácil para um iniciante.
Renomeando uma Macro
Suponha que você queira executar a macro editada de qualquer planilha diferente daquela que tem o botão de comando. Você pode fazer isso independentemente do clique do botão, renomeando a macro.
- Clique na guia EXIBIR na Faixa de Opções.
- Clique em macros.
- Selecione Exibir macros na lista suspensa.
A caixa de diálogo Macro é exibida.
- Clique no nome da macro - Button1_Click.
- Clique no botão Editar.
O código da macro aparece no editor VBA.
Altere o nome que aparece na sub-linha de Button1_Click para RenamedMacro. Deixe Sub e parênteses como estão.
Abra a caixa de diálogo Macro. O nome da macro aparece conforme você renomeia.
- Clique em RenamedMacro.
- Clique no botão Executar. A macro é executada. Agora, um clique no botão não é necessário.
Excluindo uma Macro
Você pode excluir uma macro que gravou ou codificou.
- Abra a caixa de diálogo Macros.
- Clique no nome da macro.
- Clique no botão Excluir.
o Delete mensagem de confirmação aparece.
Clique Yesse você tiver certeza de excluir a macro. Caso contrário, clique em Não.
Às vezes, você pode ter que coletar informações repetidamente de outras pessoas. O Excel VBA fornece uma maneira fácil de lidar com essa tarefa-UserForm. Como qualquer outro formulário que você preenche, UserForm torna simples de entender quais informações devem ser fornecidas. O UserForm é amigável no sentido de que os controles fornecidos são autoexplicativos, acompanhados de instruções adicionais quando necessário.
A principal vantagem do UserForm é que você pode economizar tempo gasto com o que e como as informações devem ser preenchidas.
Criando um UserForm
Para criar um UserForm, proceda da seguinte forma -
- Clique na guia DEVELOPER na faixa de opções.
- Clique em Visual Basic. Uma janela do Visual Basic para a pasta de trabalho é aberta.
- Clique em Inserir,
- Selecione UserForm na lista suspensa.
O formulário de usuário aparece no lado direito da janela.
Compreendendo o UserForm
Maximize a janela UserForm.xlsx - UserForm1.
Você está no modo de design agora. Você pode inserir controles no formulário de usuário e escrever código para as respectivas ações. Os controles estão disponíveis na Caixa de Ferramentas. As propriedades do UserForm estão na janela Propriedades. UserForm1 (legenda do UserForm) é fornecido em Formulários no Explorador de projetos.
- Altere a legenda do formulário de usuário para Relatório de projeto - diário na janela de propriedades.
- Altere o nome do UserForm para ProjectReport.
As mudanças são refletidas no UserForm, propriedades e explorador de projeto.
Controles na caixa de ferramentas
Um UserForm terá componentes diferentes. Ao clicar em qualquer um dos componentes, você receberá instruções sobre quais e como as informações devem ser fornecidas ou opções (opções) para selecionar. Todos estes são fornecidos por meio de controles ActiveX na Caixa de Ferramentas do UserForm.
O Excel fornece dois tipos de controles - controles de formulário e controles ActiveX. Você precisa entender a diferença entre esses dois tipos de controles.
Controles de formulário
Os controles de formulário são os controles originais do Excel compatíveis com versões anteriores do Excel, começando com o Excel versão 5.0. Os controles de formulário também são projetados para uso em folhas de macro XLM.
Você pode executar macros usando controles de formulário. Você pode atribuir uma macro existente a um controle ou escrever ou gravar uma nova macro. Quando o controle é clicado, a macro. Você já aprendeu como inserir um botão de comando de controles de formulário na planilha para executar uma macro. No entanto, esses controles não podem ser adicionados a um formulário de usuário.
Controles ActiveX
Os controles ActiveX podem ser usados em UserForms VBA. Os controles ActiveX têm propriedades abrangentes que você pode usar para personalizar sua aparência, comportamento, fontes e outras características.
Você tem os seguintes controles ActiveX no UserForm ToolBox -
- Pointer
- Label
- TextBox
- ComboBox
- ListBox
- CheckBox
- OptionButton
- Frame
- ToggleButton
- CommandButton
- TabStrip
- MultiPage
- ScrollBar
- SpinButton
- Image
Além desses controles, o Visual Basic fornece a função MsgBox que pode ser usada para exibir mensagens e / ou solicitar uma ação do usuário.
Nas próximas seções, você entenderá esses controles e MsgBox. Então, você poderá escolher quais desses controles são necessários para projetar seu formulário de usuário.
Rótulo
Você pode usar rótulos para fins de identificação, exibindo texto descritivo, como títulos, legendas e / ou instruções breves.
Example
Caixa de texto
Você pode usar um TextBox que é uma caixa retangular para digitar, visualizar ou editar texto. Você também pode usar um TextBox como um campo de texto estático que apresenta informações somente leitura.
Example
List Box
Você pode usar uma caixa de listagem para exibir uma lista de um ou mais itens de texto que um usuário pode escolher. Use uma caixa de listagem para exibir um grande número de opções que variam em número ou conteúdo.
- Insira um ListBox no UserForm.
- Clique em ListBox.
- Digite ProjectCodes para Name na janela Properties do ListBox.
Existem três tipos de caixas de listagem -
Single-selection List box- Uma caixa de listagem de seleção única permite apenas uma escolha. Nesse caso, uma caixa de listagem se parece com um grupo de botões de opção, exceto que uma caixa de listagem pode controlar um grande número de itens com mais eficiência.
Multiple selection List Box - Uma caixa de listagem de seleção múltipla permite uma escolha ou opções contíguas (adjacentes).
Extended-selection List Box - Uma caixa de lista de seleção estendida permite uma escolha, escolhas contíguas e escolhas não contíguas (ou disjuntas).
Você pode selecionar um desses tipos de caixas de listagem na janela Propriedades.
- Clique com o botão direito em UserForm.
- Selecione Exibir código na lista suspensa. A janela de código do UserForm é aberta.
- Clique em Inicializar na caixa superior direita da janela de código.
- Digite o seguinte em Private Sub UserForm_Initialize ().
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
Em seguida, você pode escrever um código para ações ao selecionar um item na lista. Caso contrário, basta visualizar o texto que está selecionado, que é o caso do preenchimento do Código do Projeto no Relatório.
Caixa combo
Você pode usar ComboBoxque combina uma caixa de texto com uma caixa de listagem para criar uma caixa de listagem suspensa. Uma caixa de combinação é mais compacta do que uma caixa de listagem, mas requer que o usuário clique na seta para baixo para exibir a lista de itens. Use uma caixa de combinação para escolher apenas um item da lista.
- Insira uma ComboBox no UserForm.
- Clique na ComboBox.
- Digite ProjectCodes2 para Nome na janela Propriedades do ComboBox.
- Clique com o botão direito em UserForm.
- Selecione Exibir código na lista suspensa.
- A janela de código do UserForm é aberta.
Digite o seguinte conforme mostrado abaixo.
ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
Clique na seta para baixo para exibir a lista de itens.
Clique no item necessário, por exemplo, Project2016-5. A opção selecionada será exibida na caixa de combinação.
CheckBox
Você pode usar as caixas de seleção para selecionar uma ou mais opções que são exibidas clicando nas caixas. As opções terão rótulos e você pode visualizar claramente quais opções estão selecionadas.
Uma caixa de seleção pode ter dois estados -
- Selecionado (ativado), denotado por uma marca de seleção na caixa
- Limpo (desligado), indicado por uma caixa clara
Você pode usar as caixas de seleção para selecionar as opções em uma caixa de combinação para economizar espaço. Nesse caso, a caixa de seleção também pode ter um terceiro estado -
Misto, significando uma combinação de estados ativado e desativado, denotado por um ponto preto na caixa. Isso será exibido para indicar várias seleções na caixa de combinação com caixas de seleção.
Insira as caixas de seleção no formulário de usuário conforme mostrado abaixo.
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
- Clique nas caixas das opções selecionadas.
OptionButton
Você pode usar um botão de opção, também conhecido como botão de opção, para fazer uma única escolha dentro de um conjunto limitado de opções mutuamente exclusivas. Um botão de opção geralmente está contido em uma caixa de grupo ou um quadro.
Um botão de opção é representado por um pequeno círculo. Um botão de opção pode ter um dos seguintes dois estados -
- Selecionado (ativado), denotado por um ponto no círculo
- Limpo (desligado), denotado por um espaço em branco
Quadro, Armação
Você pode usar um controle de quadro, também conhecido como caixa de grupo, para agrupar controles relacionados em uma unidade visual. Normalmente, botões de opção, caixas de seleção ou conteúdos relacionados são agrupados em um controle de quadro.
Um controle de quadro é representado por um objeto retangular com um rótulo opcional.
Insira uma moldura com a legenda “Escolha”.
Insira dois botões de opção com as legendas “Sim” e “Não” no controle do quadro. As opções Sim e Não são mutuamente exclusivas.
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
- Clique na opção selecionada.
ToggleButton
Você pode usar um botão de alternância para indicar um estado, como Sim ou Não, ou um modo, como ligado ou desligado. O botão alterna entre um estado ativado e um desativado quando é clicado.
Insira um botão de alternância no UserForm como mostrado abaixo -
Clique na guia Executar na Faixa de Opções.
Selecione Executar Sub / UserForm na lista suspensa. O botão de alternância estará no estado habilitado por padrão.
Clique no botão de alternância. O botão de alternância será desativado.
Se você clicar no botão de alternância novamente, ele será ativado.
Botão de comando
Você pode usar um botão de comando para executar uma macro que executa algumas ações quando o usuário clica nela. Você já aprendeu como usar um botão de comando em uma planilha para executar uma macro.
O botão de comando também é conhecido como botão de pressão. Insira um botão de comando no UserForm como mostrado abaixo -
- Clique com o botão direito no botão de comando.
- Digite o seguinte código no sub Commandbutton1_click ().
ProjectCodes2.DropDown
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
Clique no botão de comando. A lista suspensa da caixa de combinação é aberta, pois é a ação que você escreveu no código.
TabStrip
Você pode inserir uma faixa de tabulação semelhante às guias do Excel no formulário de usuário.
Barra de rolagem
Você pode usar uma barra de rolagem para rolar por um intervalo de valores clicando nas setas de rolagem ou arrastando a caixa de rolagem.
Insira uma barra de rolagem no UserForm desenhando-a na posição necessária e ajuste o comprimento da barra de rolagem.
- Clique com o botão direito na barra de rolagem.
- Selecione Exibir código na lista suspensa. A janela de código é aberta.
- Adicione a seguinte linha em sub ScrollBar1_Scroll ().
TextBox2.Text = "Scrolling Values"
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
Arraste a caixa de rolagem. O Texto - Valores de Rolagem será exibido na caixa de texto conforme você especificou como a ação para a barra de rolagem.
MsgBox ()
Você pode usar a função MsgBox () para exibir uma mensagem ao clicar em algo. Pode ser uma diretriz ou alguma informação ou um aviso ou um alerta de erro.
Por exemplo, você pode exibir uma mensagem informando que os valores estão sendo rolados ao começar a rolar a caixa de rolagem.
Exibições de ícone de caixa de mensagem
Você pode usar telas de ícone de caixa de mensagem que retratam a mensagem específica. Você tem vários ícones de caixa de mensagem para atender a sua finalidade -
- Digite o seguinte código em ScrollBar1_scroll.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK - Cancel Message"
MsgBox "It's an Error!", vbCritical, "Run time result"
MsgBox "Why this value", vbQuestion, "Run time result"
MsgBox "Value Been for a Long Time", vbInformation, "Run time result"
MsgBox "Oh Is it so", vbExclamation, "Run time result"
- Clique na guia Executar na Faixa de Opções.
- Selecione Executar Sub / UserForm na lista suspensa.
- Arraste a caixa de rolagem.
Você receberá as seguintes caixas de mensagem sucessivamente.
Projetando UserForm
Agora, você compreende os diferentes controles que pode usar em um formulário de usuário. Selecione os controles, agrupe-os se necessário e organize-os no UserForm de acordo com alguma sequência significativa. Escreva as ações necessárias como código correspondente aos respectivos controles.
Consulte o tutorial do VBA nesta biblioteca de tutoriais para obter um exemplo de UserForm.
Você aprendeu que a macro é armazenada como código VBA no Excel. Você também aprendeu que pode escrever código diretamente para criar uma macro no editor VBA. No entanto, como acontece com qualquer código, até mesmo o código da macro pode ter defeitos e a macro pode não ser executada conforme o esperado.
Isso requer o exame do código para encontrar os defeitos e corrigi-los. O termo usado para essa atividade no desenvolvimento de software é depuração.
Depuração VBA
O editor VBA permite que você pause a execução do código e execute qualquer tarefa de depuração necessária. A seguir estão algumas das tarefas de depuração que você pode executar.
- Percorrendo o Código
- Usando Breakpoints
- Fazendo backup ou avançando no código
- Não avançar em cada linha de código
- Consultando qualquer coisa enquanto avança pelo código
- Interrompendo a execução
Essas são apenas algumas das tarefas que você pode executar no ambiente de depuração do VBA.
Percorrendo o Código
A primeira coisa que você precisa fazer para depurar é percorrer o código enquanto o executa. Se você tiver uma ideia de qual parte do código provavelmente está produzindo o defeito, poderá pular para essa linha do código. Caso contrário, você pode executar o código linha por linha, fazendo backup ou avançando no código.
Você pode acessar o código na caixa de diálogo Macro da pasta de trabalho ou no próprio editor VBA.
Stepping into the code from the workbook
Para entrar no código da pasta de trabalho, faça o seguinte -
- Clique na guia EXIBIR na Faixa de Opções.
- Clique em macros.
- Selecione Exibir macros na lista suspensa.
A caixa de diálogo Macro é exibida.
- Clique no nome da macro.
- Clique no botão Entrar.
O editor VBA é aberto e o código da macro aparece na janela de código. A primeira linha no código da macro será destacada na cor amarela.
Stepping into the code from the VBA editor
Para entrar no código do editor VBA, faça o seguinte -
- Clique na guia DEVELOPER na faixa de opções.
- Clique em Visual Basic. O editor VBA é aberto.
- Clique no módulo que contém o código da macro.
O código de macro aparece na janela de código.
Clique na guia Depurar na Faixa de Opções.
Selecione Step into na lista suspensa.
A primeira linha no código da macro será destacada. O código está no modo de depuração e as opções na lista suspensa Depurar ficarão ativas.
Fazendo backup ou avançando no código
Você pode avançar ou retroceder no código selecionando Step Over ou Step Out.
Não avançar em cada linha de código
Você pode evitar passar por cada código de linha, se identificar uma parte potencial do código que precisa ser discutida, selecionando Executar para o Cursor.
Usando Breakpoints
Como alternativa, você pode definir pontos de interrupção em linhas específicas de código e executar o código, observando os resultados em cada ponto de interrupção. Você pode alternar um ponto de interrupção e limpar todos os pontos de interrupção se e quando necessário.
Usando relógio
Você pode adicionar um relógio durante a depuração, para avaliar uma expressão e parar a execução quando uma variável atinge um valor específico. Isso significa que você configura uma expressão de observação, que será monitorada até que seja verdadeira e então a macro irá parar e deixá-lo no modo de pausa. O VBA oferece vários tipos de relógio para escolher, a fim de realizar o que você está procurando.
Interrompendo a execução
Durante a depuração, a qualquer momento, se você encontrou uma pista sobre o que está errado, você pode interromper a execução para decifrar melhor.
Se você for um desenvolvedor experiente, a terminologia de depuração é familiar e as opções de depuração do editor VBA tornam sua vida mais simples. Mesmo caso contrário, não levará muito tempo para dominar essa habilidade se você aprendeu VBA e entende o código.
Você pode gravar uma macro e salvá-la com o nome Auto_Open para executá-la sempre que abrir a pasta de trabalho que contém essa macro.
Você também pode escrever código VBA para a mesma finalidade com o evento Open da pasta de trabalho. O evento Open executa o código no subprocedimento Workbook_Open () sempre que você abre a pasta de trabalho.
Gravando uma macro Auto_Open
Você pode gravar uma macro Auto_Run da seguinte maneira -
- Clique na guia EXIBIR na Faixa de Opções.
- Clique em macros.
- Clique em Gravar macro. A caixa de diálogo Gravar Macro é exibida.
- Digite Auto_Run para o nome da macro.
- Digite uma descrição e clique em OK.
- Comece a gravar a macro.
- Pare de gravar.
- Salve a pasta de trabalho como uma pasta de trabalho habilitada para macro.
- Feche a pasta de trabalho.
- Abra a pasta de trabalho. A macro Auto_Run será executada automaticamente.
Se você deseja que o Excel inicie sem executar uma macro Auto_Open, mantenha pressionada a tecla SHIFT ao iniciar o Excel.
Limitações da macro Auto_Open
A seguir estão as limitações da macro Auto_Open -
Se a pasta de trabalho na qual você salvou a macro Auto_Open contiver código para o evento Open da pasta de trabalho, o código do evento Open substituirá as ações na macro Auto_Open.
Uma macro Auto_Open é ignorada quando a pasta de trabalho é aberta executando o código que usa o método Open.
Uma macro Auto_Open é executada antes de qualquer outra pasta de trabalho ser aberta. Portanto, se você registrar ações que deseja que o Excel execute na pasta de trabalho Book1 padrão ou em uma pasta de trabalho carregada da pasta XLStart, a macro Auto_Open falhará quando você reiniciar o Excel, porque a macro é executada antes que as pastas de trabalho padrão e de inicialização abram .
Se você encontrar alguma dessas limitações, em vez de gravar uma macro Auto_Open, deverá escrever um código para o evento Open, conforme descrito na próxima seção.
Código VBA para evento aberto de uma pasta de trabalho
Você pode escrever código que será executado quando você abrir uma pasta de trabalho. O VBA fornece um evento denominado open que incorpora um procedimento VBA para as ações a serem executadas ao abrir uma pasta de trabalho.
Abra a pasta de trabalho na qual você armazenou a macro que você escreveu para as referências absolutas - Report_ProjectXYZ. Quando esta macro é executada, uma nova planilha será adicionada à pasta de trabalho e a estrutura do relatório do projeto aparecerá na nova planilha.
Você pode escrever um código de macro que realizará essas ações ao abrir a pasta de trabalho. Isso significa que quando você abre a pasta de trabalho Relatório do Projeto, uma nova planilha com a estrutura do relatório estará pronta para você inserir os detalhes.
Siga o procedimento fornecido abaixo no editor VBA -
Clique duas vezes em ThisWorkbook no Projects Explorer.
Na janela de código, selecione Workbook na lista suspensa à esquerda e Abrir na lista suspensa à direita. Sub Workbook_Open () aparece.
Clique em Módulos no Explorador de projetos.
Clique duas vezes no nome do módulo que contém o código da macro.
Copie o código de macro do módulo e cole-o no Sub WorkBook_Open ().
Salve a pasta de trabalho habilitada para macro. Abra novamente. A macro é executada e uma nova planilha com a estrutura do relatório é inserida.