Dátumválasztási lehetőség beszúrása Excel legördülő menübe

2016. február 06. - Office Guru

Aki csinált már feladat- vagy akár ötletlistát Excelben, abban biztos felmerült már olyan igény, hogy egyes cellák/oszlopok tartalmát ne kézzel kelljen a felhasználóknak kitölteni, hanem mondjuk legördülő menükből választható legyen az adott feladat fontossága vagy éppen választható legyen mondjuk a dátum is, ne kézzel kelljen gépelgetni.

Az Office táblázatkezelője erre is kínál beépített megoldást, ami ugyan önmagában még nem teljesen tudja azt, amit szeretnénk, de a következő kis posztban bemutatok egy verziót arra, hogy lehet ezt szépen működésre bírni.

Több módon és formában is megvalósítható a dolog és mivel előfordulhat, hogy bizonyos ActiveX-vezérlők nem érhetőek el mindenki gépén, ezért maradjunk egy default verziónál, amelynek mintájára bármilyen vezérlővel meg tudjuk ezt csinálni.

Első lépésként a Ribbonunk Developer füle alatt a Controls szekcióban található Insert parancs segítségével szúrjunk be egy ActiveX-vezérlőt a munkalapunkra, méghozzá a More Controls apró ikonja alatt található listából egy olyat, ami naptár- vagy éppen idővezérlőként funkcionál.

1000.jpgHa valakinek a listában ott van a Microsoft Date and Time Picker Control, akkor használja azt, hiszen az a legjobb erre a célra, de a tapasztalatom azt mutatja, hogy ez a vezérlő nem elérhető mindenki számára (a Microsoft oldaláról letölthető egyébként a kapcsolódó OCX), ezért maradjunk egy olyannál, ami biztosan használható bárki számára, így én most a poszt első részéhez a Calendar Controlt választom.

1001.jpgSzúrjuk be, formázgassuk, méretezgessük, én maradok egy egyszerű verziónál most:

1002.jpgAhogy látható, van egy naptárunk, amiből választhatunk, illetve van egy mezőnk, ahová majd a naptárból kiválasztott dátumot töltjük későbbi felhasználás céljából.

Innen már csak két lépésünk van hátra, először a Ribbonunk Developer füle alatt lévő Controls szekcióban található Design Mode-ot be kell kapcsolnunk, majd a naptárunkra jobb gombbal kattintva elérhető válik a Properties menüpont.

1003.jpgItt pedig már csak annyit kell tennünk, hogy a Linked Cell utasítás segítségével a vezérlőnket összekötjük a dátumhoz kitalált kis cellánkkal:

1004.jpgÉs működik is, úgy ahogy szerettük volna.

1005.jpgEz a felvázolt verzió nem fog működni egy listában önmagában, egyrészt mérete szerint sem, másrészt pedig egy cellát tudunk csak linkelni, de a koncepció szerintem követhető volt - viszont a fentebb már említett Microsoft Date and Time Picker controlja pontosan olyan, amit egy cellába tudunk legördülő mezőként beszúrni és onnantól kezdve tökéletesen alkalmazható listás célra a fentebb felvázolt módszerrel.

1006.jpgEgyszerűen válasszuk ki a Date and Time Picker Controlt, majd a beszúrt és megfelelően formázott kis legördülő menünkhöz ugyanúgy hozzá kell rendelni a megfelelő cellát, ahogy az előbb a Calendar controlnál már mutattam:

1007.jpg

1008.jpg

 

Ha esetleg valaki szeretné ezt a vezérlőt feltelepíteni, az is roppant egyszerű:

1. Töltsük le a Microsoft oldaláról az mscomct2.ocx-et

2. Másoljuk be a C:\Windows\SysWoW64 könyvtárunkba (64-bites Windowsunk esetén)

3. Majd a Commant promptból futtassuk le a regsvr32.exe mscomct2.ocx parancsot

A bejegyzés trackback címe:

https://officeguru.blog.hu/api/trackback/id/tr718364680

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

káposzta 2016.02.08. 09:19:47

Nekem valamiért bugos a Date and Time Picker Control. Ha beillesztem, baromi nagy számokat mutat, és ha rákattintok, nem történik semmi. Ha mozgatom kicsit, akkor hirtelen elkezd rendesen működni, de ha újranyitom a fájlt, akkor megint rossz :)

I_Isti 2016.02.12. 12:55:20

Naja, sajna ez is egy "hol működik, hol meg nem". (Ráadásul roppantul nem biztos, hogy bármilyen biztonsági- vagy egyéb frissítés engedélyezett egy céges munkaállomáson, ahol az ember jó esetben nem rendelkezik admin jogokkal...)