Calendário na célula Excel – VBA

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.

Calendário na célula Excel

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:

  1. Habilite a guia desenvolvedor clicando com o botão direito sobre a faixa de opções do Excel e selecionando a guia Desenvolvedor.
    Calendário na célula Excel
  2. Na guia Desenvolvedor clique no botão Visual Basic.
  3. 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.
    Calendário na célula Excel
  4. 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.
    Calendário na célula Excel
  5. Volte para o Excel fechando o VBE, basta clicar no X no canto superior direito, ele não fechará o Excel.
  6. Na sua pasta de trabalho clique na guia Desenvolvedor e no botão Macros.
  7. 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.
    Calendário na célula Excel
  8. 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.

  1. 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.
  2. 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.
    Calendário na célula Excel
  3. 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.
  4. 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.
  5. 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.
    Calendário na célula Excel

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.

  1.  Na guia Desenvolvedor clique no botão Gravar Macro.
  2. 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.
    Calendário na célula Excel
  3. Clique em Ok e depois na guia Desenvolvedor clique em Parar Gravação.
  4. 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.
  5. Digite o seguinte código:
    Calendário na célula Excel
  6. 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.
  7. Clique em Salvar e Feche o Excel, e salve ao ele pedir para salvar a pasta PERSONAL.
  8. 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.
Calendário na célula 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 planilha

Abraç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:


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel