Vai al contenuto principale

Come visualizzare un calendario quando si fa clic su una cella specifica in Excel?

Supponendo che ci sia un intervallo di colonne in un foglio di lavoro, è necessario inserire e modificare frequentemente le date all'interno, ma è annoiato inserire o modificare la data manualmente ogni volta. Come inserire rapidamente le date senza digitare manualmente nell'intervallo di colonne? Questo articolo parla di far apparire un calendario quando si fa clic sulle celle in un determinato intervallo, quindi di inserire automaticamente la data nella cella selezionata dopo aver selezionato la data nel calendario.


Apri un calendario quando fai clic su una cella specifica con codice VBA

Si prega di risolvere questo problema come segue passo dopo passo.

Note:: Questo metodo può funzionare solo su Microsoft Excel a 32 bit.

Passaggio 1: crea un form utente con il calendario

Si prega di creare un form utente che contenga il calendario che verrà visualizzato facendo clic su una cella.

1. Stampa altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulo utente.

3. Quindi a Modulo utente e Strumenti vengono visualizzate le finestre, nel file Strumenti, fare clic su qualsiasi controllo e fare clic con il tasto destro, quindi selezionare Controlli aggiuntivi dal menu di scelta rapida. Vedi screenshot:

4. Nel Controlli aggiuntivi finestra di dialogo, scorrere verso il basso per controllare il file Controllo Microsoft MonthView opzione nel Controlli disponibili casella, quindi fare clic su OK pulsante.

5. Quindi puoi vedere il file Vista mese viene aggiunto il pulsante Strumenti finestra. Fare clic su questo pulsante MonthView, quindi fare clic sulla finestra UserForm1 per creare un calendario nel modulo utente.

Note:: È possibile regolare la dimensione della finestra UserForm per adattarla al calendario inserito trascinando il bordo di UserForm.

6. Fare doppio clic sul calendario inserito nell'UserForm1 e nel Code finestra, sostituire il codice originale con il seguente script VBA.

VBA code: create a user form with calendar

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
 On Error Resume Next
   Dim xRg As Object
   For Each xRg In Selection.Cells
      xRg.Value = DateClicked
   Next xRg 
   Unload Me
End Sub

Note:: Questo codice può aiutare a inserire la data nella cella selezionata dopo aver selezionato la data dal calendario.

Passaggio 2: attiva il calendario facendo clic sulla cella

Ora è necessario specificare determinate celle per far apparire il calendario quando si fa clic. Si prega di fare quanto segue.

7. Fare doppio clic sul nome del foglio che contiene le celle su cui fare clic per far apparire il calendario a sinistra Progetto riquadro, quindi copia e incolla il codice VBA sottostante nella finestra del codice. Vedi screenshot:

VBA code: Click cell to pop up calendar

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Target.Count = 1) Then
    If Not Intersect(Target, Range("A2:A10")) Is Nothing Then UserForm1.Show
    End If
End Sub

Note:: nel codice, A2: A10 sono le celle su cui farai clic per far apparire il calendario. Si prega di modificare l'intervallo di celle di cui hai bisogno.

8. Stampa altro + Q contemporaneamente i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.

D'ora in poi, quando si fa clic su qualsiasi cella all'interno dell'intervallo specificato nel foglio di lavoro corrente, verrà visualizzato un calendario come mostrato nell'immagine sottostante. E la data verrà inserita automaticamente nella cella selezionata dopo aver selezionato la data dal calendario.


Apri un calendario quando fai clic su una cella specifica con codice VBA

Questa sezione introduce il Date picker utilità di Kutools for Excel. Dopo aver abilitato questa funzione, fai clic su una cella della data per far apparire un calendario, puoi facilmente sostituire la data esistente con una nuova data con essa. Si prega di seguire i passaggi seguenti per applicare questa funzione.

1. Clic Kutools > Contenuti > Abilita selezione data.

2. Dopo aver abilitato questa funzione, fare clic su una cella della data e un'icona del calendario apparirà direttamente sulla cella.

3. Fare clic sull'icona del calendario per aprire il file Date picker finestra di dialogo, quindi fare clic su una nuova data per sostituire la data nella cella selezionata.

Note:

  • Pulsante Annulla: fare clic su questo pulsante per annullare la sostituzione della data;
  • Pulsante Chiudi: fare clic su questo pulsante per chiudere la finestra di dialogo Selezione data;
  • Questa funzione può essere applicata solo alle celle contenenti la data.

  Se desideri avere una prova gratuita (30 giorni) di questa utility, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.


Articoli correlati:

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am not seeing the Microsoft MonthView Control in the listing, but it may be as Pete (#32847) mentioned that this will not work in Office 365 or 64-bit Microsoft Office.
This comment was minimized by the moderator on the site
Hi Teagan Caudle,
I searched and tried the methods suggested in google, but ultimately could not register the MonthView control in Microsoft 365.
Sorry for the inconvenience. Maybe you can check this out.
https://social.technet.microsoft.com/Forums/Azure/en-US/db3b4dff-aad7-4d88-87cc-8f3f117be550/microsoft-windows-common-controls-60-for-office-2016
This comment was minimized by the moderator on the site
There is no Microsoft MonthView Control listed (Office 365), and the directions here doesn't explain how one would get that control, so this is pretty much useless unless you're using an older version of Excel.
This comment was minimized by the moderator on the site
The calendar will show up but when I click on the date, the cell doesn't populate
This comment was minimized by the moderator on the site
Hi,
The code works well in my case. Which Excel version are you using?
This comment was minimized by the moderator on the site
Thank you so much! These directions were super useful :)
This comment was minimized by the moderator on the site
Hi, Is it possible to put the date picker pop-up for multiple column, as in my sheet I have "start date", "end date" and "agreement date". if yes then how?
This comment was minimized by the moderator on the site
Hi jeet,
Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
This comment was minimized by the moderator on the site
Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
This comment was minimized by the moderator on the site
if i try to select a row, the pop up will activate and the date appears in each cell in that row


how can i avoid this
This comment was minimized by the moderator on the site
Hi Sam,
The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
This comment was minimized by the moderator on the site
tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
This comment was minimized by the moderator on the site
Hello everyone,

Can anyone tell me how to popup a calendar in a range of cells, but starting only from the cell right bellow a table header and down bellow in an excel column.


Thank you in advance.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
Good Day,
Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
i used these VBA codes and everthing's fine so far. The range is A2:A10 and calendar pops up when you select a cell into it. But if you mark row from 2 to 10 again the calendar pops again. It's the same with column "A" if you mark it, again the calendar pops. How should i proceed, in order to get the calendar only in the range i've defined?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations