O que é uma macro?
Macro nada mais é do que um comando que executa automaticamente tarefas rotineiras. Com elas é possível executar automaticamente tarefas que seriam muito repetitivas. Essas tarefas podem ser cálculos, fórmulas, padrões de preenchimento etc. Confira como criar macros e como juntá-las para criar funções personalizadas. Confira nosso passo a passo.
Criando Macros
Em primeiro lugar, vamos ensiná-los a criar as macros. Com elas é possível executar automaticamente funções rotineiras. Nós criaremos duas macros: uma para preenchimento de meses em linha, e outra para preenchimento de dias em colunas.
1 – Primeiro você deverá acessar a aba Desenvolvedor.
Por padrão, essa aba estará oculta no excel. Para habilitá-la:
a) Acesse a aba Arquivo e selecione Opções:
B) Clique em Personalizar Faixa de Opções e marque a opção Desenvolvedor.
2 – Agora vamos gravar a macro relacionada à exibição automática dos meses em linha. Acesse a aba Desenvolvedor. Clique no botão Usar Referências Relativas, e, em seguida, clique em Gravar Macro.
3 – Na janela Gravar Macro, nomeie a nova macro. Você pode ainda definir um botão de atalho e uma descrição para ela. Em seguida, clique em OK.
4 – Agora você deverá digitar todos os meses do ano, de Jan até Dez na linha. Depois de feito isso, clique em Parar Gravação.
5 – A sua primeira macro está pronta! Teste-a para ver se ficou correta. Para isso:
a) Clique em Macros.
b) Na janela Macro, selecione a macro recém-gravada e clique em Executar.
Se a sua macro executou corretamente, crie uma outra macro para os dias serem exibidos em coluna. O procedimento é o mesmo descrito acima. Em nosso exemplo, nós criamos a macro DiasColuna.
Juntando as Macros
É possível juntar várias macros em uma só. Isso possibilita que sejam customizadas e criadas várias novas funcionalidades, a partir de macros já existentes. Em nosso exemplo, vamos criar uma macro que exibe os meses em linha e dias em coluna.
1 – Clique em Macros. Na janela Macros, clique em Editar.
2 – Será apresentado o Microsot Visual Basic for Aplication, com todas as macros criadas para o Excel. Está em linguagem de programação.
3 – Copie um dos códigos das macros e cole. Esse código juntará as macros e você precisará editá-lo. Para iniciar a edição, renomeie a função Sub. No nosso caso, vamos nomeá-la como DiasMeses.
4 – Delete o código entre Sub DiasMeses () e End Sub. Cole o código Call Nome da Macro. Em nosso caso é:
Call MesesLinha
Call DiasColuna
5 – A nova macro que inclui diversas macro inseridas estará disponível na opção Macros.
Dessa maneira, é possível combinar várias macros para criar funções personalizadas de acordo com as necessidades da empresa. Usamos exemplos básicos para melhor explicar como usar essa funcionalidade, mas ela pode ser aplicada para funções mais complexas.
E você, criou alguma nova macro a partir de macros já existentes? Gostaria de compartilhar essa experiência conosco? Comente!
Oi Ruan, peço desculpas mas não estou com tempo para parar e criar a macro. Se você quiser aprender por conta própria, tenho um curso legal sobre VBA – https://cursos.luz.vc/curso/curso-de-vba-para-excel/. Abraços
Rafa,
OK, mesmo com Macro ja me ajuda, poderia me ajudar a montar o codigo, pois esses codigos avançados tenho muita dificuldade.
Fico no aguardo,
Desde ja Agradeço.
Oi Ruan, esse tipo de procedimento só pode ser feito com código VBA mesmo. Você pode criar uma macro baseada em um evento (por exemplo ao abrir a planilha workbook_open). Sempre que abrir a planilha a macro vai rodar e analisar (pode ser com um IF – se a1 é menor do que a2. Se for, você pode usar um comando para copiar a1 e colar em a2
olá Rafa,
Estou precisando de uma grande ajuda.
É o seguinte, tenho celula a1 e a2, quando a1 for menor que a2, copia a1 e cola no a2.
observando que a1 é uma de resultado da soma de varias celulas.
Por favor me ajudem.
Oi Gabriel, é possível sim, basta usar o IF dentro do código. Se a planilha estiver oculta, aparece, se não, oculta
Oi Rafa, bom dia , tudo bem?
Eu consigo criar uma macro que vai rodar dois eventos porem não simultaneamente?
Por exemplo:
Clico no botão, ele vai exibir uma planilha oculta ai caso eu clique novamente no mesmo botão ele oculta essa mesma planilha.
E isso ciclicamente, tipo clica primeiro aparece, depois clica some, clica aparece ….
Oi Henrique, você pode criar a macro para fazer esse procedimento em uma linha de forma relativa. Depois basta selecionar a linha e usar um atalho (que você vai precisar atribuir a essa macro no processo de criação) para aplicar ela ao conteúdo da linha inteira selecionada
Olá Rafael, precisaria de uma Macro que toda que vez que eu selecionasse um conjunto de celulas, ela fizesse uma serie de comandos (mudar a cor da letra e tiras as linhas das celulas).
Só que depois precisaria selecionar mais celulas (no caso mais linhas), só que ao usar a MACRO criada, só iria realizar a ação nas celulas que haviam sido gravadas na MACRO.
Portanto minha duvida seria: como criar uma macro que eu precissasse apenas selecionas as celulas e clicar na macro e ela fazer toda a ação.
O atalho de tecldo (pelo menos no meu computador usando Office 365) é ALT > C > V > V – é necessário apertar essas quatro teclas sequencialmente para chegar na opção de colar valores
Gostaria de usar uma Tecla para Colar Especial em Valores. Tem como?
Oi João, talvez você possa colocar o código para salvar a planilha com um outro nome e no próprio código fazer o envio desse outro arquivo ao invés do que está sendo utilizado
Rafael bom dia.
Estou tentando executar o envio de email pelo excel via macro, toda vez que uma determinada celula é alterada o email deve ser enviado. Mas a questão é, a planilha a ser enviada é a mesma em que coloquei a macro, com isso no momento de executar o excel me informa de um erro, que não sera possivel enviar pelo fato da planilha ja estar sendo utilizada. Como poderia resolver essa questão? Você poderia me ajudar? Grato.
Legal Flávio! Qualquer dúvida é só falar
Parabéns pela explicação!!! Me ajudou muito