【Excelマクロ】保存

Excelマクロ

VBAでの「保存」の基本:上書き保存と名前をつけて保存

マクロを使用する際、データを確認するだけなら保存は不要のこともあるかもしれません。

しかし、ファイル作成をするのであれば、基本的に作業をすれば「保存」することが一般的 です。

VBAでの保存方法には、主に次の2つがあります。

  1. 上書き保存(Saveメソッド)
  2. 名前をつけて保存(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)別のファイルとして保存する新しいファイルを作成する場合

マクロが動作するたびに「上書きする」方法や、請求書などのようにデータを反映しながら新しいファイルとして保存する方法 など、さまざまな場面で活用できます。

どの方法が適しているかを考えながら、業務に活かしていきましょう!

コメント