VBA:いくらでもある事務改善パート2(2)

ミール

2013年04月12日 19:52

前回の続きです。

介護事業所の予防通所介護実績報告書を自動化するプログラムを考えてみます。

処理の概要は、対象者名簿の対象者をダブルクリックすると、実績データから対象者を検索し、報告書に編集するというものです。

単純そうですが、なかなかおもしろそうな処理です。

それでは、処理のイメージです。

①初めに、対象者名簿を作ります。(ブック名:報告書、シート名:対象者名簿)
  テスト段階なので細かい項目は省いています。
  


②次に、同じブック(報告書)に実績報告書というシートを作ります、



③次に実績データ作ります。実際は介護報酬請求システムよりエクセルへ出力しますが今回は同じ書式でテストデータを作ります。



準備は整いました。

それでは、プログラムを考えてみたいと思います。

報告書のブックにプログラムを作成していきます。


この処理では、報告書と実績データの二つのブックを使います。
報告書は画面上から、ダブルクリックして開きますが、実績データは
報告書を開くと同時に自動的に開くようにします。

実績データを開く命令を、手っとり早く「マクロの記録」で自動的につくりましょう。

マクロの記録を開始→実績ファイルを開く→報告書の対象者名簿をアクティブする
の手順で記録します。

下のようなマクロが記録されるはずです。


Sub 実績オープン()
'
' 実績オープン Macro
'
'
ChDir "C:\D\VBA開発フォルダー\VBAテスト"
Workbooks.Open Filename:="C:\D\VBA開発フォルダー\VBAテスト\実績.xlsx"
Windows("報告書.xlsm").Activate
Sheets("対象者名簿").Select
Range("D8").Select
End Sub

実績データを開くマクロが出来上がりました。

でも、このままでは、自動的に開きません。
このマクロを、下図のように「ThisWorkbook」に移動します。

「ThisWorkbook」を開きます。



「Workbook」を選択します。



ブックのオープン時に実行するプロシジャーが自動的に作成されました。




ここに、先ほどの実績データを開くマクロをコピーします。



出来ました。

それでは、テストしてみましょう。・・(報告書ブックを保存して終了しておきます)

報告書ブックをダブルクリックします。

どうでしょう。
実績データブックも自動的に開いているはずです。

これで実績データオープンのマクロは完成です。

今回のプログラムはかなりの時短効果が発揮できそうな予感がします。

次回は、対象データの検索プログラムを考えていきたいと思います。

では