Calendário no Excel 2010

Calendário no Excel 2010

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, no Excel 2010.

É sabido que no Excel 2010 foram retirados alguns componentes VBA, em boa parte por causa da arquitetura de 64 bits necessária para a sua instalação.

Um destes componentes é o calendário que era da classe mscal.ocx ao qual foi demonstrado o uso no artigo http://guiadoexcel.com.br/calendario-no-excel-com-vba, aonde era cria do um calendário VBA em um formulário que era chamado de qualquer local na planilha e ao clicar duas vezes ele colocava estes dados na planilha.

Pois bem, como isto não funciona no Excel 2010 como já disse antes, a leitora Marta Yumi Matsunaga enviou um componente interessantíssimo criado por Krisztina SzabóGábor Madács e Roberto Mensa em https://sites.google.com/site/e90e50/calendar-control-class aos quais tiro o chapéu pelo trabalho e agradeço por disponibilizá-lo livremente.

No projeto criado por estes três desenvolvedores foi criado uma classe calendário para ser usada também no Excel 2010, permitindo desta forma fazermos o seu uso da mesma forma como foi demonstrado no artigo anterior que eu havia feito.

Como Utilizar o calendário no Excel

Importando a classe

1. Baixe a classe VBA em: https://sites.google.com/site/e90e50/calendar-control-class clicando sobre a seta para baixo ao final da página em cCalendar.cls.

2. Clique na guia Desenvolvedor e em Visual Basic

3. Clique com o botão direito no projeto PERSONAL (VBAProject (PERSONAL.XLSB))

4. Selecione o arquivo que foi baixado com o nome clCalendar.cls 

5. Será adicionada a pasta Módulos de classe se não houver e a classe clCalendar estará dentro dela.

Criando o formulário

1. Clique em Inserir -> Userform nos menus de topo do Visual Basic

2. No formulário criado Insira um frame habilitando a caixa de ferramentas de formulário e adicionando o quadro ao formulário (frame) conforme abaixo

3. Clique com o botão direito sobre o formulário na árvore de projetos e selecione Exibir Código

4. Assim que for exibida a janela de código fonte você deve digitar os seguintes códigos:

Option Explicit
'UserForm with Frame1
Private WithEvents Calendar1 As cCalendar

Private Sub Calendar1_DblClick()
    ActiveCell.Value = Calendar1.Value
    Unload Me
End Sub
Private Sub UserForm_Initialize()
    Set Calendar1 = New cCalendar
    With Calendar1
        .Add_Calendar_into_Frame Me.Frame1
        .UseDefaultBackColors = True
        .DayLength = 3
        .MonthLength = mlENShort
    End With
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Set Calendar1 = Nothing
End Sub

6. Estes códigos são necessários para adicionar o formulário assim que ele é iniciado, fechar o componente assim que ele é fechado e ao clicar duas vezes sobre um dia, transportar estes dados para a célula da qual ele foi chamado.

7. A partir deste ponto você já pode clicar em F5 para compilar e exibir a planilha.

Usando o calendário

1. O primeiro passo  para utilizar o calendário é inserir um módulo de onde será chamado, para isso clique em Inserir -> Módulo

2. No módulo criado clique duas vezes sobre o mesmo e depois insira o código abaixo que serve para chamar o formulário

Sub lsChamaCalendario()
    UserForm1.Show
End Sub

3. Salve as suas alterações e volte ao ambiente do Microsoft Excel

4. Clique na guia Desenvolvedor e no botão Macros e selecione PERSONAL!lsChamaCalendario, depois clique no botão opções e adicione a chamado ao atalho pelo pressionamento de CTRL+SHIFT+K

5. Após realizar todas estas tarefas você já poderá chamar o calendário de qualquer lugar em qualquer planilha, bastando para isso pressionar CTRL+SHIFT+K e ao selecionar a data e clicar duas vezes o valor da data selecionada será automaticamente adicionado a sua planilha.

Abraço

Marcos Rieper


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