小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2025年8月1日【ID:0】

メンバー限定

【ExcelVBA】保存時に自動でバックアップファイルを作成

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


一部を修正して上書き保存した後に、「やらかした!」と気づいた経験はないですか?
ローカル上に保存しているファイルの場合、上書き保存する前のデータに戻すことは困難になります。

そこで今回は、保存時にバックアップファイルを自動で作成する仕組みの実現方法について解説していきます。

※こちらで実現したファイルは記事の最後にて配布しています。


1. 開発手順

今回は、対象のファイルを上書き保存すると同時に、予め指定したフォルダ内にバックアップファイルを作成するという仕組みを実現します。
対象のファイルを保存すると同時に何かしらの処理を実行するには、「ブックモジュール」を活用します。

ブックモジュールは、[開発]タブから[Visual Basic]を選択し、表示された画面(VBE)のプロジェクトエクスプローラーから[ThisWorkbook]を選択することで表示することができます。

[開発]タブが表示されていない場合は、「Alt + F11」でもVBEの画面を開くことができます。
また、プロジェクトエクスプローラーが表示されていない場合は、「Ctrl + R」で表示することができます。

次に、ファイルを保存したときに、保存される前に処理が実行される特殊なプロシージャ(イベントプロシージャ)を用意する必要があります。
そのためには、ブックモジュールの左上のリストから[Workbook]を選択します。

[Workbook]を選択すると、自動で「Workbook_Open」というプロシージャが表示されます。
このプロシージャは、Excelファイルの立ち上げ時に自動で実行されるイベントプロシージャになります。

ただ、今回使用するイベントプロシージャは、ファイルを保存したときに、保存される前に処理が実行されるものになります。
そのため、右上のリストから[BeforeSave]を選択します。

表示された「Workbook_BeforeSave」というプロシージャを活用します。
「Workbook_Open」というプロシージャに関しては削除して問題ないです。


2. コードの記述

以下のコードを記述します。


続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7420758

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】空白を上のセルの値で埋める

【Excel】表の順番をランダムに並べ替える

【Excel】表の最終行を選択するリンクを作成

【Excel】IF関数のネスト問題を「IFS関数」で解決

【ExcelVBA】複数のExcelファイルから必要なデータのみを自動抽出

【Excel】リンク更新の警告が表示されないようにする

【Excel】入力値に応じて入力必須項目を変更

【Excel】価格の下三桁を480円または980円にする

【Excel】グラフのラベルテキストを改行する

【Excel】FILTER関数で空白を空白のまま抽出する

【Excel】VLOOKUPで空白が「0」と表示されてしまう問題を一瞬で解決

【Excel】覚えるべき「日付を求める関数」2選

【Excel】新機能:画像をセル内に配置

【Excel】VBAとOfficeスクリプトのコードを比較(対象行の削除)

【Googleスプレッドシート】行や列の固定方法

【Excel】グラフタイトルにセルの値を参照させる

【Excel】VLOOKUP関数の参照元の表を切り替える

【Excel】軸の異なる表を瞬時に作成

【Excel】グループ化されたセルを素早く開閉!?

【ExcelVBA】データを入力する度に自動で並べ替え

【Excel】数式1つ・関数1つで集計表を作成!?

【Excel】セル内にミニグラフを作成「スパークライン」

【Excel】指定したセル数までしか値を入力できない仕組み

【ExcelVBA】セルの変更履歴表を自動作成

【ExcelVBA】カテゴリー単位でセルを自動結合





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ