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

Share
Published by
admin

Recent Posts

Gráfico de mapas no Excel

Gráfico de mapas no Excel, veja que interessante está ferramenta onde mostra a população por…

1 mês ago

Calendário anual no Excel

Calendário anual no Excel, desenvolvido com as funções do Excel e muito útil para planejamento…

1 mês ago

Formatação condicional no Excel na linha inteira

Formatação condicional no Excel na linha inteira, veja que interessante está formatação no Excel, conforme…

2 meses ago

Macros para armazenar dados no Excel

Macros para armazenar dados no Excel, vamos entender ou pouco sobre o conceito de macros…

2 meses ago

Função ÉERROS no Excel

Função ÉERROS no Excel é utilizada para verificar se uma célula contém algum tipo de…

2 meses ago

Função subtotal no Excel

Função subtotal no Excel permite calcular subtotais de uma lista ou intervalo de dados, aplicando…

3 meses ago