Přejít k hlavnímu obsahu

Jak zobrazit kalendář při kliknutí na konkrétní buňku v aplikaci Excel?

Předpokládejme, že v listu je rozsah sloupců, které musíte často zadávat a měnit data uvnitř, ale nudit se můžete ručně zadávat nebo měnit datum za čas. Jak rychle zadávat data bez ručního zadávání do rozsahu sloupců? Tento článek hovoří o vyskakování kalendáře při kliknutí na buňky v určitém rozsahu a následném automatickém vložení data do vybrané buňky po výběru data v kalendáři.


Po kliknutí na konkrétní buňku s kódem VBA si otevřete kalendář

Vyřešte prosím tento problém krok za krokem.

Poznámka: Tato metoda může fungovat pouze v Microsoft Excel 32-bit.

Krok 1: Vytvořte UserForm s kalendářem

Vytvořte prosím UserForm, který obsahuje kalendář, který vyskakujete kliknutím na buňku.

1. lis Další + F11 současně otevřete Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > UserForm.

3. Pak a UserForm a Toolbox okna se objeví v Toolbox, klikněte na libovolný ovládací prvek a klikněte pravým tlačítkem, poté vyberte Další ovládací prvky z nabídky pravého tlačítka myši. Viz screenshot:

4. V Další ovládací prvky v dialogovém okně přejděte dolů a zkontrolujte Ovládání Microsoft MonthView možnost v Dostupné ovládací prvky a poté klikněte na OK .

5. Pak můžete vidět Měsíční náhled tlačítko je přidáno do Toolbox okno. Klikněte prosím na toto tlačítko MonthView a poté klikněte na okno UserForm1 a vytvořte kalendář v Userform.

Poznámka: Velikost okna UserForm můžete upravit tak, aby vyhovovala vloženému kalendáři, přetažením ohraničení UserForm.

6. Poklepejte na vložený kalendář v UserForm1 a v Kód v okně nahraďte původní kód následujícím skriptem 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

Poznámka: Tento kód může pomoci vložit datum do vybrané buňky po výběru data z kalendáře.

Krok 2: Aktivujte kalendář kliknutím na buňku

Nyní musíte určit určité buňky, aby se po kliknutí zobrazil kalendář. Postupujte prosím následovně.

7. Poklepejte na název listu, který obsahuje buňky, na které kliknete, v levé části se zobrazí vyskakovací kalendář Projekt panelu, poté zkopírujte a vložte níže uvedený kód VBA do okna Kód. Viz snímek obrazovky:

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

Poznámka: v kódu A2: A10 jsou buňky, na které kliknete, aby se zobrazil kalendář. Podle potřeby změňte rozsah buněk.

8. lis Další + Q současně zavřete Microsoft Visual Basic pro aplikace okno.

Od této chvíle, když kliknete na libovolnou buňku uvnitř zadaného rozsahu v aktuálním listu, objeví se kalendář, jak je ukázáno níže. A datum se automaticky vloží do vybrané buňky po výběru data z kalendáře.


Po kliknutí na konkrétní buňku s kódem VBA si otevřete kalendář

Tato část představuje Výběr data užitečnost Kutools pro Excel. Po povolení této funkce klikněte na buňku s datem, vyskočí vám kalendář, můžete s ním snadno nahradit stávající datum novým datem. Chcete-li použít tuto funkci, postupujte podle následujících kroků.

1. cvaknutí Kutools > Obsah > Povolit výběr data.

2. Po povolení této funkce klikněte na buňku s datem a přímo v buňce vyskočí ikona kalendáře.

3. Klepnutím na ikonu kalendáře otevřete Výběr data v dialogovém okně a potom kliknutím na nové datum nahraďte datum ve vybrané buňce.

Poznámky:

  • Tlačítko Zpět: Klepnutím na toto tlačítko vrátíte zpět datum nahrazení;
  • Tlačítko Zavřít: Klepnutím na toto tlačítko zavřete dialogové okno Výběr data;
  • Tuto funkci lze použít pouze pro buňky obsahující datum.

  Pokud chcete mít bezplatnou (30denní) zkušební verzi tohoto nástroje, kliknutím jej stáhněte, a poté přejděte k použití operace podle výše uvedených kroků.


Související články:

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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