Excel dátumválasztó - Hogyan lehet beilleszteni a dátumválasztót (naptár) az Excelbe?

Hogyan illesszük be a dátumválasztót az Excelbe?

A legördülő naptár beszúrásához egy ActiveX vezérlőt fogunk használni , amely a „Microsoft dátum- és időválasztó vezérlő 6.0 (SP6)” .

Tegyük fel, hogy a vállalat alkalmazottainak adatait kell fenntartanunk. Számos olyan terület van, mint

  • Emp kód
  • Emp neve
  • Emp csatlakozási dátum
  • Emp Department

Az adatok MS Excelbe történő beviteléhez a következő formátumot hoztuk létre.

Az Emp Joining Date megadásához létre kell hoznunk egy legördülő menetrendet, hogy a felhasználó számára könnyebb legyen megadni a csatlakozási dátumokat.

A legördülő naptár létrehozásához az alábbi lépéseket kell megadni:

Be kell illesztenünk egy „ActiveX-vezérlőt”, amelynek neve „Microsoft Date and Time Picker Control 6.0 (SP6)” . A beszúráshoz a „Fejlesztő” „Vezérlők” csoportjában található „Beszúrás” parancsot fogjuk használni .

Ha a „Fejlesztő” fül nem látható, az alábbiakban bemutatjuk az azonos lépések láthatóvá tételéhez szükséges lépéseket.

  • 1. lépés: A „Fájl” menüben válassza az „Opciók” lehetőséget
  • 2. lépés: Megnyílik egy „Excel beállítások” nevű párbeszédpanel . Válassza a "Szalag testreszabása" lehetőséget a párbeszédpanel bal szélén. Jelölje be a „Fejlesztő” fül jelölőnégyzetét, majd kattintson az „OK” gombra.
  • 3. lépés: Most láthatjuk a "Fejlesztő" fület a szalag végén.
  • 4. lépés: Válassza az „További vezérlők” lehetőséget az ActiveX-vezérlők közül.
  • 5. lépés: Válassza ki a listából a „Microsoft Date and Time Picker Control 6.0 (SP6)” elemet, majd kattintson az „OK” gombra.
  • 6. lépés: Kattintson a munkalap bármely pontjára a legördülő naptár létrehozásához.
  • 7. lépés: Kattintson a jobb gombbal a „Dátumválasztó” elemre, és válassza a „Tulajdonságok” lehetőséget a listából.
  • 8. lépés: Változás az érték „False” a „True” a „négyzetet” tulajdonság, hogy a null értékek is elfogadhatók. Zárja be a „Tulajdonságok” párbeszédpanelt.
  • 9. lépés: Kattintson a jobb gombbal ismét a Dátumválasztóra, és válassza a „Kód megtekintése” lehetőséget a kontextuális menüből.
  • 10. lépés: A „Visual Basic Editor” alkalmazásban láthatjuk, hogy valamilyen kód már be van írva. Cserélje ki a kódot a következő kódra.

Kód:

Private Sub Worksheet_SelectionChange (ByVal Tar As As Range) with Sheet1.DTPicker1 .Height = 20 .Width = 20 Ha nem metszik egymást (Target, Range ("C: C")) akkor semmi .Visible = True .Top = Target.Top. Bal = Target.Offset (0, 1) .Bal .LinkedCell = Target.Adressress Other .Visible = False End If End End With End Sub
  • 11. lépés: A kód első utasítása azt mondja az MS Excel Compiler-nek, hogy futtassa a kódot, amikor új cellát választanak (a Selection megváltozik). A kiválasztott cellát a Sub eljáráshoz „Célként” küldjük .
Private Sub Worksheet_SelectionChange (ByVal cél mint tartomány)
  • 12. lépés: Ezek az állítások a Dátumválasztó magasságát és szélességét 20 pontra állítják az excelben. Megfigyelhető, hogy a 'With' operátort használtuk, így nem kell újra és újra a DTPicker1- re hivatkoznunk .
 A Sheet1.DTPicker1 .Height = 20 .Width = 20
  • 13. lépés: A következő „Ha” záradék azt a kritériumot állítja be, hogy ha a „C” oszlopban bármelyik cellát kiválasztja , akkor csak a Dátumválasztó válik láthatóvá. Az 'Intersect' függvényt használtuk, mivel ez a függvény ellenőrzi, hogy kiválasztottunk-e cellát a C oszlopban, majd ez a függvény visszaadja a címet; különben az érték nulla lenne.
Ha nem metszik egymást (Cél, tartomány ("C: C")) akkor semmi. Akkor látható. Igaz
  • 14. lépés: A Dátumválasztó „Top” tulajdonságát megegyezik a Kiválasztott cella „Top” tulajdonságának értékével. Ez azt jelenti, hogy ez a kijelölt cella felső határával fog együtt járni.
.Top = Cél.Top
  • 15. lépés: Ez az utasítás a Dátumválasztó bal tulajdonságát megegyezik a kijelölt cella következő jobb oldali cellájának tulajdonságával (A D oszlop bal szegélyének távolsága a munkalap bal szélső szélétől). A következő jobb oldali cella hivatkozásának megszerzéséhez az 'Offset' függvényt használtuk, 0-vel sor argumentumként és 1 oszlop argumentumként, mivel ez hivatkozást kap a következő oszlop cellájára.
.Bal = Cél. Eltolás (0, 1). Bal
  • 16. lépés: Ez az utasítás összekapcsolja a Dátumválasztót a Cél cellával úgy, hogy melyik érték legyen kiválasztva a cellában megjelenő legördülő naptárban.
.LinkedCell = Cél.Cím
  • 17. lépés: Az „Else” utasítás megmondja a fordítónak, hogy ne jelenítse meg a Dátumválasztót, ha a C oszlopban lévő cellák kivételével bármely cella ki van jelölve.
Egyéb .Látható = Hamis
  • 18. lépés: Végül bezárjuk a „Ha” elemet.
Vége Ha
  • 19. lépés: Végül be kell zárnunk a „With” -t.
Vége
  • 20. lépés: Most az aleljárás befejeződik.
End Sub

Győződjön meg arról, hogy a fájlt az '.xlsm' kiterjesztéssel menti, mivel az elmenti az általunk írt VBA kódot, és akkor tudjuk futtatni ezt a kódot, ha a C oszlopban bármelyik cella kiválasztásra kerül.

Most, amikor a „C” oszlopban bármelyik cellát kijelöljük, a kiválasztott cella jobb felső sarkában egy legördülő menüben láthatunk egy naptárat. A legördülő naptárat a lefelé mutató nyílra kattintva nyithatjuk meg.

A kiválasztott hónapban a naptár bármelyik dátumára kell kattintanunk, hogy beírhassuk a dátumot a kijelölt cellába.

A hónapot az előzőre vagy a következőre változtathatjuk a naptár bal és jobb oldalán található nyílgombbal.

A hónapra kattintva is kiválaszthatunk egy hónapot a legördülő menüből.

Az évet úgy is megváltoztathatjuk, hogy rákattintunk az évre, majd a fel és le nyilakkal választjuk ki a kívántat.

Dolgok, amikre emlékezni kell

  • A „Microsoft Date and Time Picker Control 6.0 (SP6)” nem érhető el az MS Excel 64 bites verziójában.
  • A VBA kód megírása után el kell mentenünk a fájlt '.xlsm' (Excel Macro-Enabled Workbook) kiterjesztéssel; különben a VBA kód nem futna.

érdekes cikkek...