Excel VBA

Calendário em Excel VBA

Calendário em Excel VBA facilita para filtrar uma data em nossos formulários do Excel VBA.

Segue o fonte liberado para estudo nesta planilha de cadastro de clientes onde acrescentamos o calendário em Excel VBA.

Principais dicas para o uso do calendário.

1 Dica – Para exportar um Form para outro projeto vamos para o ambiente VBA pressione com o botão direito em cima do Form desejado opção exportar.

2 Dica – Para importar o Form em um projeto já existente vamos para o ambiente VBA pressione com o botão direito a opção importar e fazer os ajustes no novo projeto.

Agora que você já importou o código fonte para o seu projeto precisamos fazer alguns ajustes.

Vamos aos passos:

1 – Criar um modulo classe por nome cCalendário com a sintaxe abaixo:

Option Explicit
Public WithEvents lblGrupo As MSForms.Label
Private Sub lblGrupo_Click()
lblGrupo.Parent.Tag = lblGrupo.Tag
lblGrupo.Parent.Hide
End Sub

2 – Criar um modulo calendario com a sintaxe abaixo:

Option Explicit
‘Vetor que armazena todos os Label de dia do Calendário
Dim Rótulos() As New cCalendário
Function GetCalendario() As Date
Dim lTotalRótulos As Long
Dim Ctrl As control
Dim frm As FORM_CALENDARIO
Set frm = New FORM_CALENDARIO
‘Atribui cada um dos Label num elemento do vetor da classe
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
‘Se a data escolhida for nula ou inválida, retorna-se a data atual:
If IsDate(frm.Tag) Then
GetCalendario = frm.Tag
Else
GetCalendario = Date
End If
Unload frm
End Function

3 – Agora vamos renomear o botão do calendário para Sub btn_dataINI e colocar a sintaxe abaixo:

Private Sub btn_dataINI_Click()
Me.txt_data = GetCalendario
End Sub

4 – Quando abrir o formulário principal neste exemplo o Form_Cliente e deseja que o campo data já carregue preenchido precisamos colocar no evento inicialize do form principal a sintaxe abaixo:

Private Sub UserForm_Initialize()
txt_data.Value = Date
End Sub

Imagem abaixo como ficou o calendário.

Download

Olá, amigos! Inscreva-se em nosso canal do Youtube para não perder os próximos vídeos.

admin

Dicas do Excel.

View Comments

Recent Posts

Excel VBA – Guia prático passo a passo

Excel VBA - Guia prático passo a passo, VBA (Visual Basic for Applications) é uma…

2 meses ago

Filtro avançado no Excel – 2 passos fáceis

Filtro avançado no Excel - 2 passos fáceis é uma ferramenta poderosa para filtrar dados…

2 meses ago

Macro no Excel – 2 exemplos práticos

Macro no Excel - 2 exemplos práticos. As macros no Excel ajuda a automatizar algumas…

2 meses ago

Formatação condicional no Excel – Passo a passo

Formatação condicional no Excel - Passo a passo vamos aprender um pouco sobre está poderosa…

3 meses ago

Gráficos no Excel – 5 passos simples

Gráficos no Excel - 5 passos simples, os gráficos servem para visualizar dados de forma…

4 meses ago

Como calcular porcentagem no Excel – Guia prático passo a passo

Como calcular porcentagem no Excel - Guia prático passo a passo, a porcentagem é uma…

4 meses ago