Come aggiungere un calendario in Excel

0 Condivisioni

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 è 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.

Calendario in 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.

VBA per calendario

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.

Sviluppo nel menu

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à.

Non perdere nessuna notizia, aggiungici agli amici!


 

Se volete seguire i post di www.informarea.it potete iscrivervi al suo feed RSS.

Non esitate a lasciare le Vostre impressioni o a porre domande.

0 Condivisioni

Fabrizio Cannatelli

Fondatore di Informarea.it, è un appassionato di informatica. Ha lavorato per molti anni come Analista Programmatore presso varie aziende utilizzando diversi linguaggi di sviluppo, oggi svolge un lavoro completamente diverso ma la voglia di comunicare e di condividere con il web i suoi studi e le sue curiosità lo hanno spinto a far nascere questo blog non solo per esprimere e mostrare la passione per questo mondo, ma anche per confrontarsi con nuove esperienze di sviluppo.

Fabrizio Cannatelli

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

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