Objetivo: Criar um calendário que pode ser consultado a qualquer hora no Excel, tal como o calendário do Windows. Sendo que a data selecionada irá para a célula que estiver ativa.
Uma das coisas que eu sentia falta e acho que o amigo que está lendo também, é um calendário que possa ser chamado por um atalho no Excel.
Esta funcionalidade era sempre suprida por mim clicando no calendário do Windows, mas convenhamos que é bastante chato consultar ali.
Neste artigo vamos criar um calendário que pode ser chamado no Excel e colocará a data selecionada pelo duplo click do mouse diretamente na célula selecionada.
Criando o formulário:
- Clique na guia Desenvolvedor e no botão Visual Basic.
- Clique em VBAProject(Personal) que é o projeto acessível em qualquer lugar do Excel.
- Clique em Inserir->User Form, irá ser incluído um formulário no projeto
- Clique no botão Caixa de Ferramentas
- Clique com o botão direito sobre o formulário da caixa de ferramentas habilitado pelo botão e clique em Controles Adicionais.
- Selecione o controle adicional na lista chamado Microsoft MonthView Control 6.0 (SP4)
- Selecione o componente MonthView que agora está habilitado na sua caixa de ferramentas e arraste para a Form1.
- Ajuste o formulário arrastando as bordas para ficarem rentes ao calendário.
- Com o formulário selecionado clique no botão Exibir código e insira o código abaixo:
Private Sub MonthView1_DateDblClick(ByVal DateDblClicked As Date) ActiveCell.Value = MonthView1.Value frmCalendario.Hide End Sub
- O código incluído fará com que o formulário passe a data para a célula quando houver um duplo clique sobre um valor no calendário
Realizando a chamada do formulário;
- Ainda no VBA, clique em Inserir->Módulo estando selecionado o projeto PERSONAL.XLSB
- No módulo incluído clique duas vezes e insira o código abaixo:
Sub lsCalendario() frmCalendario.Show End Sub
- Este código fonte realiza a chamada do calendário
- Salve e feche o VBA
Realizando a chamada do calendário:
- Clique na guia Desenvolvedor e no botão Macros
- Selecione PERSONAL.XLSB!lsCalendario e clique no botão Opções
- Digite uma tecla de atalho para a chamada deste procedimento, como por exemplo K (SHIFT+K) e feche esta tela
- Agora pra testar funcionalidade pressione a tecla de atalho definida e clique duas vezes sobre qualquer data, o formulário irá passar esta data para a célula que estiver ativa e fechar automaticamente.
Então é isso, espero que tenham gostado do tutorial e se tiverem algum problema podem entrar em contato com o site ou ver o artigo sobre a habilitação da guia desenvolvedor ou gravar macro no Excel que tratam de assuntos relacionados a este.
Marcos Rieper