エクセルでVBAを使った自動処理を作成したあと、保存時に「このブックにはマクロが含まれています」という警告が出て、どの形式を選べばよいか迷うことがあります。
XLSMは、数式や表だけでなく、VBAマクロやフォームなどのプログラム要素も保持できるExcelのファイル形式です。
ただし、保存形式の選択を誤ると、せっかく作成したマクロが消えたり、受け取った相手がセキュリティ警告で開けなかったりするかもしれません。
・XLSMはマクロを保存できるマクロ有効ブックです。
・通常のXLSXで保存するとVBAコードは保持されません。
・保存前には保存先、拡張子、マクロの安全性を確認することが大切です。
この記事では、XLSMの意味、マクロ有効ブックとして保存する操作、共有時に確認したい注意点を順番に解説します。
エクセルでXLSM形式に保存する方法【マクロを残す操作】
それではまず、VBAマクロを消さずにXLSM形式で保存する方法について解説していきます。
| ファイル名 | 保存形式 | VBAマクロ |
|---|---|---|
| 月次集計.xlsm | Excel マクロ有効ブック | 保持される |
| 月次集計.xlsx | Excel ブック | 保持されない |
名前を付けて保存からの形式選択
既存のブックをXLSMにしたいときは、リボンの「ファイル」を選択し、「名前を付けて保存」を開きます。
保存先を決めたら、ファイル名欄の下にあるファイルの種類をクリックしましょう。

一覧から「Excel マクロ有効ブック」を選ぶと、拡張子が.xlsmに設定されます。
ファイル名を入力して保存をクリックすれば、VBAプロジェクトを含んだ状態で保存できます。
【操作のポイント】ファイル名だけを.xlsmに変更しても、保存形式がXLSXのままではマクロ有効ブックになりません。
警告メッセージが表示された場合の選択
XLSX形式で保存しようとしたブックにVBAが含まれていると、マクロを保存できないことを知らせる警告が表示されます。
この画面で「いいえ」を選択すると保存形式の選択画面へ戻れるため、マクロを残したい場合はこちらを選びます。

続いて、ファイルの種類を「Excel マクロ有効ブック」に変更して保存します。
「はい」を選んでXLSXとして保存すると、VBAモジュールやマクロは削除されるため注意が必要です。
保存前に「このマクロは今後も使うか」を確認すると、誤ってコードを失う事故を防ぎやすくなります。
【操作のポイント】警告文を閉じる前に、現在の拡張子と保存形式を見比べる習慣を付けましょう。
保存後に拡張子を確認する手順
保存が終わったら、エクスプローラーで対象ファイルを確認し、名前の末尾が.xlsmになっているかを確認します。
Windowsで拡張子が表示されない場合は、エクスプローラーの「表示」から「ファイル名拡張子」を有効にすると確認しやすくなります。
Excelのタイトルバーにも、保存したブック名が表示されます。
拡張子の確認は、マクロを含む重要な帳票や自動化ファイルほど有効な最終チェックです。
【操作のポイント】同じ名前のXLSXとXLSMを同じフォルダーに置く場合は、更新対象を取り違えないようにします。
XLSMとXLSX・XLSBの違い
続いては、よく使われるExcelの保存形式とXLSMの違いを確認していきます。
| 拡張子 | 主な用途 | マクロ保存 |
|---|---|---|
| XLSX | 通常の表計算 | 不可 |
| XLSM | VBAを含むブック | 可能 |
| XLSB | 大容量データのバイナリ保存 | 可能 |
XLSXが向いているファイル
XLSXは、現在もっとも一般的なExcelブックの形式です。
表、グラフ、関数、ピボットテーブルなどは保存できますが、VBAマクロは保存できません。

マクロを使用しない集計表や、取引先へ配布する閲覧用資料なら、XLSXを選ぶと受け手も扱いやすくなります。
一方で、ボタンを押して処理する仕組みがある場合、XLSXで上書き保存すると機能が失われます。
【操作のポイント】将来マクロを追加する可能性が低い通常帳票は、XLSXで管理するとファイル用途が明確になります。
XLSMを選ぶべきブック
XLSMは、Visual Basic for Applicationsで作成したマクロを含めたいブックに適した形式です。
定型データの転記、複数シートの集計、PDF出力、メール作成、入力チェックなどの自動化で利用されます。

マクロを実行しなくても、VBAコードを将来修正する予定があるならXLSMで残すことが重要です。
なお、XLSMそのものが危険なのではなく、信頼できない作成元のマクロが実行されることにリスクがあります。
【操作のポイント】自動化のためのVBAを含むかどうかを、XLSMとXLSXを選ぶ基準にします。
XLSBとの使い分け
XLSBはExcelバイナリブックと呼ばれ、データをバイナリ形式で保存するファイルです。
大量の行や複雑な計算を含むブックでは、保存や読み込みが速くなったり、ファイルサイズが小さくなったりする場合があります。
ただし、一般的な社内共有ではXLSMのほうが用途を判別しやすく、互換性の説明もしやすい傾向です。
速度だけを理由に形式を変える前に、共有先のExcel環境と運用ルールを確認しましょう。
【操作のポイント】マクロ入りの通常業務ファイルはXLSM、大容量処理は検証したうえでXLSBを検討します。
マクロ有効ブックのセキュリティ設定
続いては、XLSMを安全に開き、マクロを必要な場合だけ実行するための設定を確認していきます。
| 確認項目 | 確認内容 |
|---|---|
| 作成元 | 信頼できる部署・取引先・自分のファイルか |
| 保存場所 | 共有フォルダーやダウンロードフォルダーか |
| 警告表示 | コンテンツの有効化を押す必要があるか |
保護ビューとコンテンツの有効化
メール添付やWebから取得したXLSMを開くと、上部に保護ビューまたはセキュリティ警告のメッセージバーが表示されることがあります。
これは、マクロを自動実行せず、利用者が内容を確認してから判断できるようにする仕組みです。
「コンテンツの有効化」を押す前に、送信者、依頼内容、ファイル名が正しいかを確認してください。
内容が不明なXLSMでは、警告バーの有効化ボタンを押さないことが基本です。
【操作のポイント】マクロを有効にする判断は、ファイルの拡張子ではなく作成元と用途を確認してから行います。
トラストセンターのマクロ設定
Excelの「ファイル」から「オプション」を開き、「トラストセンター」「トラストセンターの設定」「マクロの設定」と進むと、マクロの扱いを確認できます。
一般的には、警告を表示してすべてのマクロを無効にする設定が、確認と安全性のバランスを取りやすい選択です。
すべてのマクロを常に有効にする設定は、不正なコードまで実行される可能性があるため、通常は避けましょう。
安全性を高めるなら、必要なときだけ警告バーから有効化する運用が適しています。
【操作のポイント】トラストセンターを変更する前に、組織の情報システム部門が定めたセキュリティ方針も確認します。
信頼できる場所の利用
社内で管理されている自作マクロを繰り返し使う場合は、トラストセンターの「信頼できる場所」に専用フォルダーを登録する方法があります。
登録された場所のファイルは警告の扱いが変わるため、ダウンロードフォルダーや誰でも書き込める共有フォルダーを指定するのは適切ではありません。
信頼できる場所には、管理者と保存対象を限定した専用フォルダーだけを登録するのが安全です。
【操作のポイント】便利さを優先して広いフォルダーを信頼済みにしないことが、マクロ運用の重要な注意点です。
VBAマクロと数式を含むブックの作成
続いては、数式を残したままVBAで処理を自動化するXLSMの基本を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 商品名 | 数量 | 単価 |
| りんご | 10 | 50 |
| みかん | 8 | 60 |
開発タブとVisual Basic Editor
VBAコードを作成または確認するには、Excelの「開発」タブから「Visual Basic」を選択します。
開発タブが表示されていない場合は、ファイル、オプション、リボンのユーザー設定から表示を有効にできます。
Visual Basic Editorでは、標準モジュール、シートモジュール、ThisWorkbookなどにコードを記述します。
VBAを書き始めた時点で、保存形式をXLSMに変更しておくと保存忘れを防げます。
【操作のポイント】コード編集前にコピーを作成しておくと、修正中のトラブルから元のブックを守れます。
サンプルマクロによる集計処理
次の例は、1行目をヘッダーとして扱い、B列の数量とC列の単価を掛けた金額をD列へ書き込むマクロです。
2行目から最終行までを順番に処理するため、商品データの件数が増えても同じ操作を繰り返せます。
Sub 金額を計算する()
Dim 最終行 As Long
Dim 行 As Long
最終行 = Cells(Rows.Count, "A").End(xlUp).Row
For 行 = 2 To 最終行
Cells(行, "D").Value = Cells(行, "B").Value * Cells(行, "C").Value
Next 行
End Sub
Cells(行, “B”)は処理中の行にあるB列のセルを表し、Cells(行, “C”)と掛け合わせた結果をD列へ代入しています。
最終行はA列を基準に取得しているため、A列の商品名が途中で空白にならないように入力する必要があります。
数式で計算するならD2に=B2*C2を入力し、フィルハンドルを下方向へオートフィルします。
【操作のポイント】マクロの基準列と、データが必ず入力される列を一致させると最終行の判定が安定します。
数式とマクロの役割分担
セル内の計算だけで完結する処理は、数式を使うと内容を確認しやすくなります。
たとえばD2セルに=B2*C2を入力し、D2の右下にあるフィルハンドルを下へドラッグすると、3行目以降へ相対参照の式をコピーできます。
一方で、複数ファイルの取り込みや帳票の整形、条件に応じたシート作成などは、VBAマクロが得意な領域です。
数式は計算の見える化、VBAは複数操作の自動化という考え方で使い分けると管理しやすくなります。
【操作のポイント】簡単な計算まで無理にVBAへ置き換えず、保守しやすい方法を選びます。
XLSMファイルの共有とバックアップ
続いては、XLSMを他の人へ渡す場合や、長期運用する場合の注意点を確認していきます。
| 場面 | 確認したい内容 |
|---|---|
| メール送付 | 送信先と用途を本文で説明する |
| クラウド共有 | 編集権限と版管理を確認する |
| 修正作業 | 別名保存でバックアップを残す |
受け取る側へ伝えたい内容
XLSMを共有するときは、ファイルにマクロが含まれることと、実行してよい操作の範囲を事前に伝えます。
たとえば「集計ボタンを押すと月次シートを作成します」のように、目的を短く添えると受け手が判断しやすくなります。
マクロの実行を求める場合でも、パスワードや個人情報を入力させる不自然なマクロには注意が必要です。
共有するXLSMには、作成者、更新日、操作方法を分かる場所に記載すると引き継ぎにも役立ちます。
【操作のポイント】メールの件名や本文にもマクロ付きファイルであることを明記し、受信者の不安を減らします。
OneDriveと共同編集の注意点
OneDriveやSharePointへ保存すると、変更履歴の確認や複数人での管理に役立つ場合があります。
ただし、ブラウザー版ExcelではVBAマクロを実行できないため、マクロ操作にはデスクトップ版Excelが必要です。
共同編集の最中にコードを変更する場合は、誰がどのタイミングで修正するかを決めておくと競合を避けやすくなります。
マクロを含む処理はデスクトップ版Excelで実行し、クラウド上では版管理と共有権限を中心に活用します。
【操作のポイント】共同編集用の表と、VBAを保守する原本を分ける運用も有効です。
上書き保存に備えるバックアップ
VBAの修正や保存形式の変更を行う前には、元のXLSMを別名で複製しておくと安心です。
ファイル名に更新日や版番号を加えると、復元したい時点のファイルを見つけやすくなります。
特に、XLSMからXLSXへ変換する作業はマクロ削除につながるため、元ファイルを残してから行いましょう。
重要な自動化ブックは、XLSMの原本を変更前に必ずバックアップすることが基本です。
【操作のポイント】バックアップ先は、作業中の同じフォルダーだけでなく、アクセス管理された保存先にも確保します。
まとめ エクセルのXLSMとマクロ有効ブックの保存方法・注意点
XLSMは、Excelの表や数式に加えてVBAマクロを保存できるマクロ有効ブックです。
マクロを残すには、「名前を付けて保存」からファイルの種類を「Excel マクロ有効ブック」に変更し、拡張子が.xlsmになっていることを確認します。
XLSXで保存するとVBAコードは保持されないため、警告が出た場合は保存形式を見直すことが大切です。
また、XLSMを受け取ったときは、作成元と用途を確認してからコンテンツを有効化しましょう。
信頼できる場所の登録やマクロ設定の変更は便利ですが、範囲を広げすぎるとセキュリティリスクも高まります。
数式はセル内の計算、VBAは複数操作の自動化に使い分け、共有時には操作方法と作成者を明示すると、XLSMを安全で使いやすい業務ツールとして活用できます。