Calendário na célula Excel – VBA
Neste artigo é demonstrado um calendário na célula Excel que pode ser chamado ao clicar em uma determinada célula do Excel ou ainda através de atalhos ou em outras forms. A vantagem deste formulário sobre os outros é que ele funciona em qualquer versão do Excel (provavelmente), dado que não utiliza componentes que foram descontinuados como o Microsoft Month View e nem utiliza componentes externos.
Além disso o código fonte do calendário é aberto para que sejam realizadas alterações ou para estudar o seu código fonte.
Como incluir o calendário na sua pasta de trabalho
Para incluir o calendário na sua pasta de trabalho, de modo que fique utilizável somente nela e possa distribuir a sua planilha sempre com este componente, siga os passos:
- Habilite a guia desenvolvedor clicando com o botão direito sobre a faixa de opções do Excel e selecionando a guia Desenvolvedor.
- Na guia Desenvolvedor clique no botão Visual Basic.
- Clique com o botão direito sobre a árvore VBA Project referente á sua pasta de trabalho e clique com o botão direito selecionando a opção importar arquivo e selecione o arquivo frmCalendario que está disponível para download ao final do artigo.
- Ainda no VBA clique no menu em Inserir->Módulo e no módulo inserido digite o seguinte procedimento. Ele servirá para chamar o calendário.
- Volte para o Excel fechando o VBE, basta clicar no X no canto superior direito, ele não fechará o Excel.
- Na sua pasta de trabalho clique na guia Desenvolvedor e no botão Macros.
- Na lista de Macros selecione a macro lsCalendario, clique no botão Opções e em tecla de atalho digite C maiúsculo, fazendo com que o atalho seja CTRL+SHIFT+C.
- Pronto! Agora o calendário já pode ser chamado nesta pasta de trabalho que você incluiu o calendário. Basta selecionar uma célula e clicar em CTRL+SHIFT+C para que o formulário seja chamado, depois navegar para a data desejada e clicar sobre o botão referente ao dia.
Como chamar o calendário ao dar duplo clique em uma célula
Agora vamos ver como incluir o calendário na célula que será acionado ao clicar duas vezes em uma célula de uma determinada coluna.
- Na guia Desenvolvedor clique no botão Visual Basic e clique duas vezes na árvore á esquerda na planilha em que deseja incluir o código.
- Selecione Worksheet na primeira combo e na segunda selecione BeforeDoubleClick, o VBE já criará automaticamente a chamada do evento que será chamado antes de realizar um duplo clique na célula.
- Lembrando que para que funcione você deve ter incluído o Módulo e a função lsCalendario, ou ainda se não quiser utilizar a função lsCalendario, pode chamar diretamente frmCalendario.show substituindo este código.
- Veja que no caso colocamos Target.Column = 5, este código identifica a coluna aonde foi dado o duplo clique e só chama a lsCalendario se for a coluna 5, ou seja, a coluna E. Se quiser outra coluna basta alterar este número.
- Feche o VBE e volte ao Excel, veja que ao dar um duplo clique em uma célula da coluna E o Excel abre o calendário automaticamente.
Como usar o calendário em qualquer planilha no seu computador
Para que o calendário fique disponível no seu Excel, siga os passos seguintes. Lembrando que não irá para o seu cliente, mas funcionará em qualquer planilha que você tenha no seu computador.
- Na guia Desenvolvedor clique no botão Gravar Macro.
- Digite no nome da macro lsCalendario, no atalho digite pressione SHIFT+C, ficará CTRL+SHIFT+C, e principalmente em Armazenar macro em: selecione Pasta de trabalho pessoal de macros.
- Clique em Ok e depois na guia Desenvolvedor clique em Parar Gravação.
- Abra o VBE clicando na guia Desenvolvedor em Visual Basic ou pressionando ALT+F11 e procure na árvore do VBE por PERSONAL.XLSB, depois clique na pasta Módulos e clique duas vezes em Módulo 1.
- Digite o seguinte código:
- Clique com o botão direito sobre a árvore VBA Project referente á sua pasta de trabalho e clique com o botão direito selecionando a opção importar arquivo e selecione o arquivo frmCalendario que está disponível para download ao final do artigo.
- Clique em Salvar e Feche o Excel, e salve ao ele pedir para salvar a pasta PERSONAL.
- Ao abrir o Excel você já terá o calendário funcionando corretamente para você ao pressionar CTRL+SHIFT+C em qualquer célula de qualquer planilha do seu Excel será chamado o calendário na célula do Excel.
No download eu disponibilizo a form e também um exemplo de uma planilha de controle de cheques muito legal que eu fiz em 2011: http://guiadoexcel.com.br/controle-de-cheques-com-vba/, ele controla a baixa de cheques e também cria uma lista rapidamente para imprimir e juntar aos cheques que serão levados ao banco.
Baixe a planilhaAbraço
Marcos Rieper
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: