Discussione:
Controllo Calendario
(troppo vecchio per rispondere)
Gianluigi Finocchi
2023-03-21 14:18:03 UTC
Permalink
Salve,

in un foglio Excel vorrei aggiungere un controllo calendario, in modo che cliccando in una cella si apra un calendario dal quale selezionare una data.
Ho letto varie "dritte" in rete, ma non ottengo nessun risultato.
Ho scaricato il controllo MSCAL.OCX (quello indicato per Office da 2003 a 2013). Ho inutilmente tentato di registrarlo in System32, ottenendo sempre un errore. E' andata bene, invece, registrandolo in SysWOW64 come ho letto da qualche parte dovessi fare.
Nel foglio Excel apro il VBA, vado in Strumenti, Riferimenti e seleziono il file MSCAL.OCX in SysWOW64. Da qui in poi non so A) se ho fatto quel che serviva B) come devo proseguire.
Il mio ambiente: Windows 11 ed Office 2013.
Qualcuno mi sa dare qualche indicazione?

Grazie,
Gianluigi
Gianluigi Finocchi
2023-03-21 14:56:41 UTC
Permalink
Post by Gianluigi Finocchi
Salve,
in un foglio Excel vorrei aggiungere un controllo calendario, in modo che cliccando in una cella si apra un calendario dal quale selezionare una data.
Ho letto varie "dritte" in rete, ma non ottengo nessun risultato.
Ho scaricato il controllo MSCAL.OCX (quello indicato per Office da 2003 a 2013). Ho inutilmente tentato di registrarlo in System32, ottenendo sempre un errore. E' andata bene, invece, registrandolo in SysWOW64 come ho letto da qualche parte dovessi fare.
Nel foglio Excel apro il VBA, vado in Strumenti, Riferimenti e seleziono il file MSCAL.OCX in SysWOW64. Da qui in poi non so A) se ho fatto quel che serviva B) come devo proseguire.
Il mio ambiente: Windows 11 ed Office 2013.
Qualcuno mi sa dare qualche indicazione?
Grazie,
Gianluigi
Mi rispondo - in parte - da solo.
Gira e rigira sono riuscito ad inserire il calendario nel foglio Excel. Ma evidentemente questo non basta. Selezione un giorno, mese ed anno ma, naturalmente, non succede nulla. Cosa devo fare perchè la data selezionata finisca nella cella che mi interessa? Immagino (temo) che ci voglia del codice VBA.
Inoltre il controllo è - evidentemente - troppo grande per stare in una cella e, quindi, va posizionato altrove. Ma allora se c'è uno ed un solo controllo calendario come faccio ad usarlo per inserire più date in più celle?

Grazie,
Gianluigi
casanmaner
2023-03-22 06:41:21 UTC
Permalink
Post by Gianluigi Finocchi
Mi rispondo - in parte - da solo.
Gira e rigira sono riuscito ad inserire il calendario nel foglio Excel. Ma evidentemente questo non basta. Selezione un giorno, mese ed anno ma, naturalmente, non succede nulla. Cosa devo fare perchè la data selezionata finisca nella cella che mi interessa? Immagino (temo) che ci voglia del codice VBA.
Inoltre il controllo è - evidentemente - troppo grande per stare in una cella e, quindi, va posizionato altrove. Ma allora se c'è uno ed un solo controllo calendario come faccio ad usarlo per inserire più date in più celle?
Io ero rimasto che l'oggetto non fosse più utilizzabile nelle versioni a 64bit.
Comunque se sei riuscito a inserire il calendario dovresti sfruttare, tramite vba, i suoi metodi e proprietà per inserire le date ove necessario.
Normalmente per il posizionamento dell'oggetto potresti sfruttare l'evento "Worksheet_SelectionChange" per posizionare l'oggetto dove ti interessa.
Ad es. queste istruzioni muovo il calendario sotto la cella attiva e in corrispondenza, di lato, alla stessa

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Calendario1
.Top = ActiveCell.Top + ActiveCell.Height
.Left = ActiveCell.Left
End With
End Sub

Poi per l'oggetto dovresti sfruttare i propri eventi per inserire la data nelle celle dove desideri che la data venga inserita.
Loading...