Vytvářejte ovládací prvky za běhu/rozšiřující formuláře/plovoucí panel nástrojů/kalendář PTO

Anonim

Ahoj všichni,

Na připojeném projektu jsem pracoval krátce a usoudil jsem, že se o něj podělím se skupinou. Abych to stručně shrnul, moje organizace měla dříve částečně zastaralý způsob sledování placeného volna pro zaměstnance. Do Excelu byl zabudovaný kalendář (podobný listu Kalendář v mém přiloženém souboru). Správce by v podstatě vstupoval přímo do kalendáře, což se, jak si dokážete představit, stalo s postupem organizace poměrně těžkopádným úkolem. Do dokončení této databáze jsem dal dohromady mnoho nápadů Excel VBA, které jsem měl z předchozích zkušeností. Zde udělám několik poznámek: Chápu, že na makroskopické úrovni to nemusí být tak rafinované jako získání specializovaného řešení, ale samozřejmě to v tuto chvíli není možné. Kód je také místy trochu chaotický, protože nebyl plně prověřen a vylepšen. Nakonec existují některé věci v některých formách, které se mohou zdát zvláštní (zaškrtávací políčka, která nikam nevedou). Pravděpodobně se jedná o oběť, že jsem soubor ořezal a odstranil všechna existující důvěrná data.

Jak název [zlověstně] napovídá, v sešitu se odehrává řada položek. Pokud bych měl vybrat jednu položku, na kterou se zaměřím, doporučil bych se podívat na první položku: vytváření ovládacích prvků za běhu. Jedním z problémů s přechodem na databázovou strukturu byla ztráta přehledů oddělení, které měly být poskytnuty managementu. Jistě, jednotlivé oddílové listy lze propojit, ale to by vytvořilo pomalejší a méně škálovatelný model. Různí manažeři navíc požadují různé typy informací, takže jde sotva o „univerzální velikost pro všechny aplikace“. Userform3 (já vím, názvy kreativ!) Umožňuje správci sešitu exportovat určité informace do sestav podle potřeby. Po spuštění uživatelského formuláře se naplní seznam obsahující aktuální oddělení. Kromě toho jsou generována přepínací tlačítka, která odpovídají každému poli v listu DATA, což umožňuje export tohoto pole do nové knihy. Skutečná výhoda, protože sloupce jsou přidávány nebo odstraňovány (například jsem odstranil naše rozpočtová čísla), uživatelská forma se rozšiřuje a smršťuje a přidává/odstraňuje tlačítka podle potřeby. Pokusit se. Přidejte sloupec a poté spusťte formulář, abyste zjistili, že je nyní zahrnut v přepínačích.

V tomto formuláři je navíc zaškrtávací políčko pro tisk položek, které vytiskne sestavu a také ji exportuje do nového sešitu.

Když otevřete sešit, měl by existovat plovoucí panel nástrojů s možností Reports (z toho, co jsem pochopil, to v Excelu 2007 nefunguje vždy, ale panel nástrojů najdete na kartě Vývojář na pásu karet). Pokud to stále není vidět, můžete vždy stisknout Alt+F8 a poté zvolit makro ShowForm3, aby se zobrazily uživatelské formuláře sestav.

Zvědavému pozorovateli jsem nechal celý kód v sešitu odemčený a rád zodpovím všechny relevantní otázky.