Výber dátumu v programe Excel - Ako vložiť nástroj na výber dátumu (kalendár) v programe Excel?

Ako vložiť nástroj na výber dátumu v programe Excel?

Na vloženie rozbaľovacieho kalendára použijeme ovládací prvok ActiveX, ktorý je „Microsoft Date and Time Picker Control 6.0 (SP6)“ .

Predpokladajme, že musíme udržiavať údaje o zamestnancoch spoločnosti. Existuje niekoľko polí ako

  • Emp Code
  • Emp Emp
  • Emp Joining Date
  • Emp Department

Pre zadávanie údajov do MS Excel sme vytvorili nasledujúci formát.

Ak chcete zadať Emp Joining Date, je potrebné vytvoriť rozbaľovací kalendár, aby používatelia mohli ľahšie zadávať dátumy pripojenia.

Postup vytvorenia rozbaľovacieho kalendára je uvedený nižšie -

Musíme vložiť „ovládací prvok ActiveX“ s názvom „Microsoft Date and Time Picker Control 6.0 (SP6)“ . Na vloženie použijeme príkaz „Vložiť“ v skupine „Ovládacie prvky“ v časti „Vývojár“.

Ak karta „Vývojár“ nie je viditeľná, nižšie sú uvedené kroky, ktoré musíte urobiť, aby ste ju rovnako zviditeľnili.

  • Krok 1: V ponuke „Súbor“ zvoľte „Možnosti“
  • Krok 2: Otvorí sa dialógové okno s názvom „Možnosti programu Excel“ . Na ľavom okraji dialógového okna zvoľte možnosť „Prispôsobiť pásku“ . Začiarkavacie políčko na karte „Vývojár“ a kliknite na „OK“.
  • Krok 3: Teraz vidíme kartu „Vývojár“ na poslednej stužke.
  • Krok 4: V časti Ovládacie prvky ActiveX vyberte možnosť „Viac ovládacích prvkov“ .
  • Krok 5: V zozname zvoľte „Microsoft Date and Time Picker Control 6.0 (SP6)“ a kliknite na „OK“.
  • Krok 6: Kliknite kdekoľvek na hárku a vytvorte rozbaľovací kalendár.
  • Krok 7: Kliknite pravým tlačidlom myši na „Výber dátumu“ a v zozname vyberte „Vlastnosti“ .
  • Krok 8: Zmeňte hodnotu vlastnosti „False“ na hodnotu „True“ pre vlastnosť „CheckBox“, aby bolo možné akceptovať aj nulové hodnoty. Zatvorte dialógové okno Vlastnosti .
  • Krok 9: Znova kliknite pravým tlačidlom myši na výber dátumu a z kontextovej ponuky vyberte možnosť „Zobraziť kód“ .
  • Krok 10: V „editore jazyka Visual Basic“ vidíme, že nejaký kód je už napísaný. Nahraďte kód nasledujúcim kódom.

Kód:

Súkromná podskupina Worksheet_SelectionChange (cieľový rozsah ByVal ako rozsah) s hárkom1.DTPicker1. Výška = 20. Šírka = 20, ak sa nepretína (cieľ, rozsah („C: C“)) potom nie je nič. Viditeľné = pravda. Vrchol = cieľ. Vrchol. Left = Target.Offset (0, 1). Left .LinkedCell = Target.Address Else .Visible = False End If End With End Sub
  • Krok 11: Prvý príkaz v kóde hovorí programu MS Excel Compiler, aby spustil kód vždy, keď je vybratá nová bunka (výber sa zmenil). Vybratá bunka sa odošle do procedúry Sub ako „Cieľ“.
Súkromný čiastkový pracovný hárok_výber (rozsah ByVal ako rozsah)
  • Krok 12: Tieto výroky nastavujú výšku a šírku nástroja na výber dátumu na vynikajúcich 20 bodov. Je možné pozorovať, že sme použili operátor „With“ , aby sme nemuseli znova a znova odkazovať na DTPicker1 .
 S hárkom 1. DTPicker1. Výška = 20. Šírka = 20
  • Krok 13: Nasledujúca klauzula „If“ stanovuje kritériá, že ak je v stĺpci „C“ vybratá ktorákoľvek bunka, zviditeľní sa až potom výber dátumu. Použili sme funkciu „Prienik“, pretože táto funkcia kontroluje, či sme vybrali ktorúkoľvek bunku v stĺpci C, potom táto funkcia vráti adresu; inak by bola hodnota null.
Ak sa nepretína (cieľ, rozsah („C: C“)) nie je nič potom. Viditeľné = pravda
  • Krok 14: Vlastnosť „Na začiatok“ nástroja na výber dátumu je nastavená na rovnakú hodnotu ako hodnota vlastnosti „Na začiatok“ vo vybratej bunke. Znamená to, že to pôjde spolu s horným okrajom vybratej bunky.
.Top = Target.Top
  • Krok 15: Toto vyhlásenie nastaví ľavú vlastnosť nástroja na výber dátumu na rovnakú hodnotu ako vlastnosť nasledujúcej pravej bunky vybranej bunky (vzdialenosť ľavého okraja stĺpca D od krajnej ľavej strany tabuľky). Na získanie odkazu na nasledujúcu pravú bunku sme použili funkciu „Ofset“ s 0 ako argumentom riadku a 1 ako argumentom stĺpca, pretože tým sa získa odkaz na bunku v ďalšom stĺpci.
.Left = Target.Offset (0, 1). Left
  • Krok 16: Toto vyhlásenie prepojí výber dátumu s cieľovou bunkou tak, aby ktorákoľvek hodnota bola vybratá v rozbaľovacom kalendári, ktorý sa zobrazí v bunke.
.LinkedCell = Target.Address
  • Krok 17: Príkaz „Else“ hovorí kompilátoru, aby nezobrazoval výber dátumu, keď je vybratá ktorákoľvek bunka okrem tej, ktorá je v stĺpci C.
Inak. Viditeľné = Falošné
  • Krok 18: Nakoniec zavrieme „Ak“.
Koniec Ak
  • Krok 19: Nakoniec musíme uzavrieť „S“.
Končiť s
  • Krok 20: Teraz sa čiastkový postup ukončí.
Koniec Sub

Uistite sa, že súbor uložíme s príponou „.xlsm“, pretože tým sa uloží nami napísaný kód VBA. Tento kód budeme môcť spustiť, keď v stĺpci C vyberiete ľubovoľnú bunku.

Teraz, kedykoľvek vyberieme ktorúkoľvek bunku v stĺpci „C“, uvidíme v pravom hornom rohu vybranej bunky rozbaľovací kalendár. Rozbaľovací kalendár môžeme otvoriť kliknutím na symbol šípky nadol.

Musíme kliknúť na ľubovoľný dátum v kalendári vo vybranom mesiaci, aby sme tento dátum zadali do vybranej bunky.

Mesiac môžeme zmeniť na predchádzajúci alebo nasledujúci pomocou tlačidla so šípkou umiestneného na ľavej a pravej strane kalendára.

Môžeme tiež kliknúť na mesiac a z rozbaľovacej ponuky zvoliť mesiac.

Môžeme tiež zmeniť rok kliknutím na rok a potom pomocou šípok nahor a nadol vyberte požadovaný.

Na čo treba pamätať

  • Program „Microsoft Date and Time Picker Control 6.0 (SP6)“ nie je k dispozícii pre 64-bitovú verziu programu MS Excel.
  • Po napísaní kódu VBA musíme súbor uložiť s príponou „.xlsm“ (Excel Macro-Enabled Workbook); inak by sa kód VBA nespustil.

Zaujímavé články...