« ◆Excel VBA(複数の定型フォーマットブックを開いて一覧表を作るマクロ(第2回)) | トップページ | ◆Excel VBA(定型フォーマットのExcelを一気に開いて複数作成するマクロ(第2回)) »

2007年5月23日 (水)

◆Excel VBA(定型フォーマットのExcelを一気に開いて複数作成するマクロ(第1回))

前回までの話題は「複数Excelを開いて一覧表を作る」でしたが、今回からはその続きとして、申請者側の立場から、定型フォーマットのExcelを一気に複数作成するマクロについて書いてみたいと思います。これは、ある管理情報があって、その情報を元に申請書フォーマットに項目を転記して、複数作成するような場合を想定しています。
つまり、各担当者は申請を作成する際に、いちいち雛形の定型フォーマットをコピーして、必要事項に手入力するという作業をやめて、予め申請に必要な情報を一覧として整備しておき、そこから必要に応じて申請書を一気に複数作成してしまおうという省力化マクロです。
一覧があるのならその一覧を渡せばいいじゃないかと疑問に思う方もいらっしゃると思いますが、取りまとめ者(部門)とのやり取りはとかく『定型のフォーマットで申請しないと受け付けません』とか、内部で管理している一覧は申請には不要な項目が含まれていたりするので『こんな一覧を各担当者から申請されても解りません』とか言われてしまうものです。

では、その申請書作成マクロですが、今回は以下の要領で考えてみたいと思います。
<前提>
(1)予め申請に必要な情報をまとめた管理表.xlsがある
(2)管理表.xlsには管理表シートとは別に、申請用フォーマットシートを保持している
(3)申請書作成マクロは管理表.xlsに実装するものとする

<仕様>
(1)管理表シートに実行ボタンを配置する
(2)作成したい行の任意のセルを複数選択した状態で、実行ボタンをクリックすることで処理を実行する
(3)生成された申請書.xlsの格納先フォルダを指定するダイアログを表示する
(4)選択した行の申請日がブランク(=未申請)の場合、以下の(5)~(6)の処理を繰り返す
(5)申請用の新規ブックを作成し、申請用フォーマットシートをコピーする
(6)その新規ブックに対し、管理表シートから申請に必要な列の情報を流し込む
   上記(3)で指定した格納先フォルダに新規ブックを保存し、申請書作成済みのマークである”申請日”列に日付を設定する
   
仕様上、様々なインタフェースが考えられますが、読者の皆様の事情に応じていろいろ拡張してみてください。
格納先フォルダの指定が面倒であれば、プログラム内に保持しても良いし、申請日に関わらず再申請できるようにするなどが考えられると思います。申請用フォーマットは今回は処理を簡単にするために管理表.xlsのシートとして保持する仕様としましたが、フォーマットの変更を想定して、別ブックとして外出しにするのが現実的かもしれません。

それでは次回から実際のマクロを解説していきます。

« ◆Excel VBA(複数の定型フォーマットブックを開いて一覧表を作るマクロ(第2回)) | トップページ | ◆Excel VBA(定型フォーマットのExcelを一気に開いて複数作成するマクロ(第2回)) »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ◆Excel VBA(複数の定型フォーマットブックを開いて一覧表を作るマクロ(第2回)) | トップページ | ◆Excel VBA(定型フォーマットのExcelを一気に開いて複数作成するマクロ(第2回)) »