Calendário no Excel com VBA aprenda (Sem complicações)

Se você chegou até aqui, possivelmente deseja criar um incrível Calendário no Excel. No entanto, já lhe adianto que você está no lugar certo, hoje vamos elaborar um calendário inteiramente em VBA, conforme o da imagem.

Calendário no Excel com VBA

Aproveitamos também para te adiantar que você nao vai gastar tempo com programação, pois vamos disponibilizar os arquivos (Módulo, Módulo de Classe, Userform), inteiramente para download gratuito.

PUBLICIDADE

Antes de iniciarmos, realize o download dos arquivos utilizados, selecionando na imagem abaixo. Depois disso, continue conosco e siga o passo a passo.

Calendário em VBA

Você receberá um arquivo contendo alguns arquivos com alguns nomes simplificados (Conforme abaixo), onde com eles, será possível permitir o funcionamento perfeito do calendário no excel.

Arquivos de Calendário no Excel

Agora que você já tem os arquivos necessários para a inserção de nosso formulário completo, vamos acessar a guia desenvolvedor. No entanto, a partir dele, que vamos importar os arquivos.

Inserindo Formulário em VBA frmCalendário

Primeiramente, vamos em Arquivo -> Importar arquivo (CTRL+M) e faremos a chamada do arquivo frmCalendário.frm, onde então, teremos algo semelhante ao arquivo abaixo.

Inserir Formulário em VBA

Percebam que o nosso formulário já veio completo, bacana não? Só aqui temos mais de 1 hora de economia do que criar do zero. Em outras palavras, também aproveito para informar, que toda a programação do formulário já está inserida dentro dele.

Como é possível observar abaixo, ao darmos dois cliques encima de nosso formulário inserido, podemos ver toda a programação em VBA utilizada. No entanto, para o funcionamento correto, ainda precisamos importar os Módulos e Módulos de classe.

PUBLICIDADE

Inserindo Módulos do Calendário no Excel

Como inserimos anteriormente, agora vamos realizar a importação do arquivo mdlCalendário que será o nosso módulo utilizado.

Nele teremos o texto contendo a seguinte programação, o qual também já virá inserido, sem a necessidade de inserir manual. Mas, caso deseja inserir manual, estamos disponibilizando abaixo:

Option Explicit

Dim Rótulos() As New cCalendário

Function GetCalendário() As Date

Dim lTotalRótulos As Long
Dim ctrl As Control
Dim frm As frmCalendário

Set frm = New frmCalendário

For Each ctrl In frm.Controls
    If ctrl.Name Like "l?c?" Then
        lTotalRótulos = lTotalRótulos + 1
        ReDim Preserve Rótulos(1 To lTotalRótulos)
        Set Rótulos(lTotalRótulos).lblGrupo = ctrl
    End If
Next ctrl

frm.Show

If IsDate(frm.Tag) Then
    GetCalendário = frm.Tag
Else
    GetCalendário = Date
End If

Unload frm

End Function

Se você optou por realizar essa etapa manual, basta inserir o código acima dentro do seu Módulo chamado mdlCalendário. Após isso, seguimos a etapa final, inserindo o Módulo de Classe.

Inserindo Módulo de Classe do Calendário em VBA

Seguindo o mesmo procedimento anteriores, que agora você já está totalmente familiarizado, vamos importar o arquivo de Módulo de Classe chamado cCalendário.cls. No entanto, como fizemos anteriormente, também estamos disponibilizando o código de inserção manual (caso necessário).

Option Explicit

Public WithEvents lblGrupo As MsForms.Label

Private Sub lblGrupo_Click()
    lblGrupo.Parent.Tag = lblGrupo.Tag
    lblGrupo.Parent.Hide
End Sub

Lembrando que todos esses arquivos foram disponibilizados para download gratuito no início desse artigo. Depois disso, após tudo estar importado nos locais corretos, você provavelmente tenha se deparado com os seguintes arquivos.

Inserção finalizada

Conclusão

Feito isso, vamos realizar o teste de como ficou nosso calendário inteiramente criado em VBA? Para isso, vamos em frmCalendário e vamos processar ele através do F5 de nosso teclado.

Calendário Finalizado

No entanto ao final sua imagem ficou semelhante a de cima, seu calendário está funcionando perfeitamente. Depois disso é só você fazer a chamada dele utilizando frmCalendário.Show em qualquer botão de chamada em VBA que você inserir em seu trabalho.

Mas se você gostou desse artigo, e deseja receber conteúdos gratuitos com preferência, inscreva-se em nosso canal no Youtube. Você encontrará grandes passo a passos assim como esse.

PUBLICIDADE
Compartilhe
Rafael Schreiner

Rafael Schreiner

Artigos: 348