Hoppa till huvudinnehåll

Hur dyker upp en kalender när du klickar på en specifik cell i Excel?

Om du antar att det finns ett kolumnintervall i ett kalkylblad måste du ofta ange och ändra datum inuti, men det är tråkigt att ange eller ändra datum manuellt per gång. Hur skriver man snabbt in datum utan att manuellt skriva in i kolumnområdet? Den här artikeln talar om att poppa upp en kalender när du klickar på celler i ett visst intervall och sedan infoga datum i den valda cellen automatiskt efter att ha valt datum i kalendern.


Öppna en kalender när du klickar på en specifik cell med VBA-kod

Lös det här problemet enligt steg steg för steg.

Anmärkningar: Den här metoden kan bara fungera på Microsoft Excel 32-bit.

Steg 1: Skapa en UserForm med kalender

Skapa en UserForm som innehåller kalendern du kommer att dyka upp genom att klicka på en cell.

1. Tryck andra + F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar Insert > Userform.

3. Sedan a Userform och en Verktygslåda fönster dyker upp, i Verktygslåda, klicka på valfri kontroll och högerklicka och välj sedan Ytterligare kontroller från högerklickmenyn. Se skärmdump:

4. I Ytterligare kontroller dialogrutan, bläddra ner för att kontrollera Microsoft MonthView-kontroll alternativet i Tillgängliga kontroller och klicka sedan på OK knapp.

5. Då kan du se Månadsvisning knappen läggs till i Verktygslåda fönster. Klicka på den här MonthView-knappen och klicka sedan på fönstret UserForm1 för att skapa en kalender i användarformuläret.

Anmärkningar: Du kan justera storleken på UserForm-fönstret så att det passar den infogade kalendern genom att dra gränsen för UserForm.

6. Dubbelklicka på den infogade kalendern i UserForm1 och i Koda fönster, byt ut den ursprungliga koden med följande VBA-skript.

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

Anmärkningar: Den här koden kan hjälpa till att infoga datum i vald cell efter att ha valt datum från kalendern.

Steg 2: Aktivera kalendern när du klickar på cellen

Nu måste du ange vissa celler för att dyka upp kalendern när du klickar. Gör så här.

7. Dubbelklicka på arkenamnet som innehåller cellerna du klickar på för att dyka upp kalendern till vänster Projekt rutan och kopiera sedan och klistra in nedanstående VBA-kod i kodfönstret. Se skärmdump:

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

Anmärkningar: i koden är A2: A10 celler som du klickar för att dyka upp kalendern. Ändra cellintervallet efter behov.

8. Tryck andra + Q samtidigt för att stänga Microsoft Visual Basic för applikationer fönster.

Från och med nu, när du klickar på vilken cell som helst inom det angivna intervallet i det aktuella kalkylbladet, dyker en kalender upp som bilden nedan visas. Och datum infogas automatiskt i den valda cellen efter att ha valt datum från kalendern.


Öppna en kalender när du klickar på en specifik cell med VBA-kod

Detta avsnitt introducerar Datumväljare nytta av Kutools för Excel. När du har aktiverat den här funktionen klickar du på en datumcell som dyker upp en kalender. Du kan enkelt ersätta det befintliga datumet med ett nytt datum med det. Följ stegen nedan för att tillämpa den här funktionen.

1. klick Kutools > Innehåll > Aktivera datumväljare.

2. När du har aktiverat den här funktionen klickar du på en datumcell så visas en kalenderikon direkt till cellen.

3. Klicka på kalenderikonen för att öppna Datumväljare dialogrutan och klicka sedan på ett nytt datum för att ersätta datumet i den valda cellen.

Anmärkningar:

  • Ångra-knapp: Klicka på den här knappen för att ångra ersättningsdatum;
  • Stäng-knapp: Klicka på den här knappen för att stänga dialogrutan Datumväljare.
  • Denna funktion kan endast gälla celler som innehåller datum.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


Relaterade artiklar:

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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