小技集

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



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
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



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



サイト累計閲覧数

8023237

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

Excel完全制覇


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

【Googleスプレッドシート】チェックボックスの自動表示

【ExcelVBA】予定表の各日付に1行を追加する

【Excel】TRUEとFALSEを理解する

【Excel】簡易的な検索機能を数式のみで実現

【Excel】セルの値に対しアイコンを表示

【ExcelVBA】入力後に好みのセルに移動する技(入力順を自由に指定)

【Excel】自動でグループ分け!FILTER関数×TEXTJOIN関数

【Excel】改行を保持しながら値を参照する

【Excel】グラフの軸の「データのない日付」を非表示にする

【ExcelVBA】複数シートの表に一括反映

【Excel】重複入力できないリストを作成

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

【Excel】複数選択時のミスを無くす方法

【Excel】ユーザー設定リストを使って効率化

【ExcelVBA】選択した時のみ値が表示される!?

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

【Excel】分表記を時刻表記(時:分)に変換

【Excel】在庫数が指定値未満の場合に自動色付け

【ExcelVBA】省略した項目を自動で入力

【Excel】時間や時給からの給料を正しく計算

【Excel】チェックしたデータを別シートに抽出

【ExcelVBA】ボタンを押すだけで「データ削除&上詰め」

【Excel】複数シートを一括修正

【Excel】「文字列の数字」の警告を非表示にする方法

【Excel】文字列のデータも0として平均に加えたい





一覧ページへ

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