Come aggiungere un calendario in Excel

Hai la necessità di aggiungere un calendario in Excel con una popup che appare nel momento in cui clicchi su una determinata cella? Vuoi dare un effetto più bello al tuo foglio excel ed evitare che l’utente inserisca la data digitandola? Bene continua a leggere, in questo articolo ti spiegherò come aggiungere un calendario in excel in pochi e semplici passaggi.

Tutto quello che devi fare per avere un calendario Excel, è armarti di pazienza e seguire quello che ti illustrerò nelle prossime righe.

Se non hai il controllo calendario devi scaricarti il file MSCAL.OCX (in questa pagina) e dopo averlo incollato nella cartella c:\windows\system32 registrarlo con regsvr32 mscal.ocx digitandolo nella finestra di Esegui (WIN+R). Al termine puoi caricarlo in Strumenti > Riferimenti > Sfoglia.

Come creare un calendario con Excel

come creare un calendario con excel

Per aggiungere un calendario in excel devi prima di tutto attivare nei Riferimenti di Excel, in ambiente VBA, Microsoft Calendar Control 8.0 (se hai la versione 2010 di Excel). Per farla ti basta andare in alto su Sviluppo e cliccare sull’icona (in alto a sinistra) Visual Basic, per aprire l’ambiente Microsoft Visual Basic Application.

calendario su excel

Se non ti ritrovi nel menu in alto la voce Sviluppo, per attivarla devi andare su File > Opzioni > Personalizzazione Barra multifunzione. Nel gruppo di destra scegli la voce Schede principali,  metti una spunta alla voce Sviluppo e premi il tasto OK.

calendario con excel

In ambiente VBA clicca, sulla sinistra, sul foglio su cui stai lavorando e copia e incolla le seguenti righe di codice:

Private Sub Calendar1_Click()
ActiveCell.Value = CDbl(Calendar1.Value)
' ActiveCell.NumberFormat = "mm/dd/yyyy"
ActiveCell.Select
Calendar1.Visible = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Range("I4:I8"), Target) Is Nothing Then
Calendar1.Left = Target.Left + Target.Width - Calendar1.Width
Calendar1.Top = Target.Top + Target.Height
Calendar1.Visible = True
' select Today's date in the Calendar
'Calendar1.Value = Date
If Not IsDate(Target.Value) Then
Calendar1.Value = Date
Else
Calendar1.Value = Target.Value
End If
ElseIf Calendar1.Visible Then Calendar1.Visible = False
End If
End Sub

Per far apparire l’oggetto calendario vai su Sviluppo > Inserisci > Altri Controlli (Icona con martello e chiave) e qui nella finestra che appare scegli Controllo Calendario 8.0, mettendoti con il cursore tra le celle I4:I8.

Salva il tutto e prova a cliccare su una cella compresa tra I4 e I8. Puoi naturalmente cambiare range modificandolo in questa riga di codice If Not Application.Intersect(Range(“I4:I8”), Target) Is Nothing Then

Impostando Calendar1.visible = False nella funzione Private Sub Calendar1_Click(), potrai fare in modo che al momento del click sulla popup calendario questo sparirà.

Fabrizio Cannatelli

Autore e Founder di Informarea, sono un appassionato di informatica e tecnologia da sempre. La voglia di comunicare e di condividere sul Web le mie curiosità e le mie conoscenze, mi ha spinto a lanciarmi nel progetto di questo sito. Nato un po' per gioco e un po' per passione, oggi è diventato una grande realtà.

Fabrizio Cannatelli

Approfondimenti

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.