VBAでの「保存」の基本:上書き保存と名前をつけて保存
マクロを使用する際、データを確認するだけなら保存は不要のこともあるかもしれません。
しかし、ファイル作成をするのであれば、基本的に作業をすれば「保存」することが一般的 です。
VBAでの保存方法には、主に次の2つがあります。
- 上書き保存(Saveメソッド)
- 名前をつけて保存(SaveAsメソッド)
それぞれの方法と活用例を見ていきましょう。
1. 上書き保存(Saveメソッド)
現在開いているブックをそのまま保存する 方法です。VBAでは 「Saveメソッド」 を使います。
コード例
ActiveWorkbook.Save
これだけで、現在のブックをそのまま上書き保存 することができます。
特徴
- 現在のブックを変更後、そのまま保存する
- 「上書きされても問題ないデータ」 の場合に便利
- マクロの実行ごとに最新のデータを保存できる
2. 名前をつけて保存(SaveAsメソッド)
新しいブックとして保存したい場合は、「SaveAsメソッド」 を使用します。
例えば、請求書を作成し、元のブックとは別のファイルとして保存する場合 などに使います。
基本の例
ActiveWorkbook.SaveAs Filename:=ファイル名(パス表記)
ファイル名だけでは保存できないため、「パソコンのどこに、どんな名前で保存するのか」 というパスの指定が必要になります。
パスの考え方
ファイルのパスの考え方については、別のブログでも記載していますが、例えば、Windowsの「Cドライブ」→「ドキュメント」→「請求書」フォルダに保存する場合、パスは以下のようになります。
C:¥ドキュメント¥請求書¥ファイル1.xlsx
これをVBAで記述すると、次のようになります。
VBAでの記述例
ActiveWorkbook.SaveAs Filename:="C:¥ドキュメント¥請求書¥ファイル1.xlsx"
これにより、「請求書」フォルダに「ファイル1.xlsx」という名前で保存 されます。
実務での活用例
実際に実務で使うとすると、例えば次のような内容があります。
・「取引先ごと」に請求書を保存する
・分析データを「日付ごと」に保存する
・指定されたファイル名で順番に保存する
・各シートを分割して、それぞれブックで保存する
まとめ
VBAでの保存方法には、主に次の2つがあります。
保存方法 | 機能 | 使いどころ |
---|---|---|
上書き保存(Save) | 現在のブックをそのまま保存する | マクロ実行後、毎回上書き保存する場合 |
名前をつけて保存(SaveAs) | 別のファイルとして保存する | 新しいファイルを作成する場合 |
マクロが動作するたびに「上書きする」方法や、請求書などのようにデータを反映しながら新しいファイルとして保存する方法 など、さまざまな場面で活用できます。
どの方法が適しているかを考えながら、業務に活かしていきましょう!
コメント