みなさん、こんにちは。添付のプロジェクトに短期間取り組んでいて、グループと共有したいと思いました。簡単に要約すると、私の組織には、従業員の有給休暇を追跡する以前は半ば時代遅れの方法がありました。 Excelにカレンダーが組み込まれていました(添付ファイルのカレンダーシートに似ています)。管理者は基本的にカレンダーに直接入力しますが、ご想像のとおり、組織が成長するにつれて、これは比較的面倒な作業になりました。以前の経験からこのデータベースを完成させるために持っていたExcelVBAのアイデアの多くをまとめました。ここでいくつかメモしておきます。巨視的なレベルでは、これは専用のソリューションを取得するほど洗練されていない可能性があることを理解していますが、もちろん、現時点ではそれはオプションではありません。

また、コードは十分に精査されて改善されていないため、場所によっては少し厄介です。最後に、奇妙に見えるかもしれないいくつかの形式のいくつかのものがあります(どこにも行かないチェックボックス)。これらは、既存の機密データを削除するためにファイルを切り詰める私にとっての犠牲者である可能性があります。

タイトルが[不吉に]示唆しているように、ワークブックには多くの項目があります。焦点を当てる項目を1つ選択する必要がある場合は、最初の項目である実行時のコントロールの作成を確認することをお勧めします。データベース構造への移行に関する1つの問題は、管理者に提供される部門の概要が失われることでした。確かに、個々の部門シートをリンクすることはできますが、それはより遅く、拡張性の低いモデルを作成します。さらに、さまざまなマネージャーがさまざまな種類の情報を要求するため、「1つのサイズですべてのアプリケーションに対応」することはほとんどありません。

Userform3(私は知っています、クリエイティブなタイトルです!)を使用すると、ワークブック管理者は必要に応じて特定の情報をレポートにエクスポートできます。

ユーザーフォームが起動すると、現在の部門を含むリストボックスが表示されます。さらに、DATAワークシートの各フィールドに対応するトグルボタンが生成され、そのフィールドを新しいブックにエクスポートできます。真のメリットは、列が追加または削除されると(たとえば、予算番号を削除した場合)、ユーザーフォームが拡大および縮小し、必要に応じてボタンを追加/削除します。試してみる。列を追加してからフォームを起動し、トグルボタンに含まれていることを確認します。

さらに、このフォームには[アイテムを印刷する]チェックボックスがあり、レポートを印刷したり、新しいワークブックにエクスポートしたりできます。

ブックを開くと、レポートのオプションが付いたフローティングツールバーが表示されます(私が理解していることから、これはExcel 2007で常に機能するとは限りませんが、ツールバーはリボンの[開発者]タブにあります)。それでも表示されない場合は、いつでもAlt + F8を押してから、マクロShowForm3を選択してレポートのユーザーフォームを表示できます。

好奇心旺盛なオブザーバーのために、ワークブックのすべてのコードのロックを解除したままにしました。関連する質問に喜んでお答えします。