Excelの基本・用語 Excel一覧 Excel操作

【Excel基礎用語】xlsmファイルとは|マクロを保存できる形式の特徴と使い方を解説

Excelのファイルを扱っていると、「.xlsx」だけでなく「.xlsm」という拡張子を目にすることがあります。

普段からExcelを使っていても、「xlsmは何が違うの?」「普通に開いて大丈夫?」「なぜxlsxではなくxlsmで保存されているの?」と疑問に感じる方もいるでしょう。

xlsmファイルは、簡単にいうとExcelのマクロを保存できるファイル形式です。特にVBAを利用して処理を自動化する場合には、xlsmの役割を理解しておくことが重要になります。

一方で、「マクロを使う人だけが知っていればよい形式」というわけではありません。会社で受け取ったExcelファイルがxlsmだったり、警告メッセージが表示されたりすることもあるため、一般的なExcelユーザーにとっても知っておきたい基礎知識の一つです。

この記事では、xlsmファイルとは何なのか、その特徴やxlsxとの違い、基本的な扱い方を初心者の方にもわかりやすく解説します。

✅ Excelのxlsmファイルとは何か

xlsmという文字だけを見ると、xlsxとよく似ているため「少し種類が違うだけ」と考えてしまいがちです。しかし、両者にはマクロを保存できるかどうかという重要な違いがあります。

この違いを知らずにファイル形式を変更すると、せっかく作成したマクロを保存できなくなることがあります。特に、業務で自動処理が組み込まれたExcelファイルを扱う場合は注意が必要です。

また、xlsmだからといって必ず危険なファイルというわけでもありません。「マクロを含められる形式」と「実際に安全なマクロかどうか」は分けて考える必要があります。

まずは、xlsmがどのようなファイルなのか基本から整理しておきましょう。

・xlsmはマクロを保存できるExcelファイル

xlsmは、Excelマクロ有効ブック(Excel Macro-Enabled Workbook)として利用されるファイル形式です。

ファイル名の末尾は、次のようになります。

「売上管理.xlsm」

「請求書作成.xlsm」

「集計ツール.xlsm」

通常のExcelブックでよく使われるxlsxと同じように、セルへのデータ入力、数式、関数、グラフ、書式設定などを保存できます。

大きな特徴は、それらに加えてVBAで作成したマクロもファイル内に保持できることです。

たとえば、毎月行っている集計作業をボタン一つで実行する処理や、複数のシートから必要なデータをまとめる処理などをVBAで作成した場合、そのコードを残したまま保存するためにxlsm形式が使われます。

そのため、xlsmは単なるデータ保存用のExcelファイルというより、自動処理を組み込めるExcelブックと考えると理解しやすいでしょう。

・xlsmの「m」はマクロ対応を見分ける目印

Excelのファイル形式には似た名前が多く、初心者のうちは区別しにくいことがあります。

xlsmの場合、末尾に付いている「m」がマクロに対応していることを見分ける一つの目印になります。

代表的な形式を簡単に比較すると、次のようになります。

拡張子主な特徴
.xlsx一般的なExcelブック。VBAマクロは保存できない
.xlsmマクロを保存できるExcelブック
.xlsExcel 97-2003で使われていた従来形式

普段の表計算や資料作成でマクロを使用しないのであれば、xlsxが一般的です。

一方、VBAによる自動処理をファイル内に残す必要がある場合には、xlsmを使用します。

ただし、Excelにはほかにも複数のファイル形式があります。xlsmだけですべての拡張子を理解しようとせず、ここでは「マクロを保存するための代表的な形式」という役割を押さえておけば十分です。

xlsm以外にも、Excelにはxlsxやxlsなど用途の異なるファイル形式があります。拡張子の意味やファイル形式ごとの違いをまとめて確認したい方は、「Excelのファイル形式(拡張子)とは」で基本から整理しています。


✅ xlsmファイルとxlsxファイルの違い

xlsmを理解するとき、多くの方が最初に迷うのがxlsxとの違いです。どちらもExcelで開くことができ、通常のセル入力だけを見ればほとんど同じように操作できます。

そのため、見た目だけでは違いに気付かないことも珍しくありません。しかし、マクロを含むブックを扱う場面では、この違いが非常に重要になります。

「どちらで保存しても同じだろう」と考えて形式を変更すると、自動処理を維持できなくなる可能性があります。業務ファイルを扱う場合ほど、拡張子を確認する習慣が大切です。

ここではファイル形式全般ではなく、xlsmを理解するために必要な範囲に絞ってxlsxとの違いを確認します。

・最大の違いはVBAマクロを保存できるかどうか

xlsmとxlsxの大きな違いは、VBAマクロを保存できるかどうかです。

たとえば、Excelで次のような作業を自動化するマクロを作ったとします。

  1. 売上データを読み込む
  2. 不要なデータを整理する
  3. 担当者別に集計する
  4. 集計結果を別シートへ転記する

こうした処理をVBAで作成したブックは、xlsm形式で保存することでマクロを保持できます。

一方、マクロを含むブックをxlsx形式で保存しようとすると、Excelからマクロを保存できないことを知らせる警告が表示されます。

つまり、

xlsx:通常のExcelブックとして使う

xlsm:VBAマクロを残したまま使う

という違いを最初に覚えておくとよいでしょう。

・xlsmでも通常のExcel操作はできる

「xlsmはマクロ専用の特殊なExcelなのでは?」と思うかもしれませんが、基本的なExcel操作は通常どおり行えます。

たとえば、

・セルに文字や数値を入力する
・SUM関数などを使用する
・表を作成する
・グラフを作成する
・セルの色や罫線を設定する
・シートを追加する

といった一般的な操作ができます。

xlsmだからといって、毎回マクロを実行しなければならないわけでもありません。

そのため、会社からxlsm形式のファイルを渡された場合でも、通常のExcelブックとして入力や閲覧を行うだけであれば、必要以上に難しく考える必要はありません。

マクロを使用しない一般的なExcelブックでは、xlsx形式が広く利用されています。xlsxファイルそのものの特徴や開き方、保存形式について詳しく知りたい方は、「xlsxファイルとは」の解説もあわせて確認してみてください。


✅ Excelでxlsmファイルを開く基本手順

xlsmファイルを初めて受け取ったとき、「普通のExcelファイルと同じように開いてよいのか」と戸惑うことがあります。

基本的にはExcelから通常どおり開くことができます。ただし、xlsmにはマクロを含められるため、ファイルによってはセキュリティに関するメッセージが表示される場合があります。

ここで重要なのは、警告が出たからといって反射的にマクロを有効化しないことです。逆に、警告が表示されたという理由だけでxlsmそのものを危険な形式だと判断する必要もありません。

「ファイルを開くこと」と「含まれているマクロを実行できる状態にすること」を分けて理解しておくと、xlsmを安全に扱いやすくなります。

・xlsmファイルをExcelから開く方法

xlsmファイルを開く基本的な流れは、通常のExcelファイルと大きく変わりません。

  1. Excelを起動します。
  2. 「ファイル」を選択します。
  3. 「開く」から対象ファイルの保存場所を表示します。
  4. 拡張子が「.xlsm」のファイルを選択します。
  5. 「開く」をクリックします。

Windowsのエクスプローラーなどから対象のxlsmファイルをダブルクリックして開くこともできます。

ファイルを開いたあと、マクロに関する警告やセキュリティ通知が表示される場合があります。

この時点で覚えておきたいのは、xlsmを開いたことと、マクロを有効化することは同じではないという点です。

ファイルの内容を確認するだけであれば、マクロを有効にしなくてもセルやシートを閲覧できる場合があります。

特にメールやダウンロードなどで入手したxlsmファイルについては、作成者や入手元を確認してから扱うことが大切です。

・xlsmを見分けるときは拡張子を確認する

手元のExcelファイルがxlsmなのか確認したい場合は、ファイル名の末尾を確認します。

「○○.xlsm」と表示されていれば、マクロ有効ブックです。

ただし、Windowsの設定によっては「.xlsm」の部分が表示されず、ファイル名だけが見えていることがあります。

また、Excelでファイルを開いている場合は、「ファイル」から保存形式を確認する方法もあります。

業務で複数のExcelファイルを扱っていると、見た目がほぼ同じxlsxとxlsmを取り違えることがあります。

特にマクロを含む業務ツールをコピー・編集・保存するときは、作業前に現在のファイル形式を確認する習慣を付けておくと、意図しない形式変更を防ぎやすくなります。


✅ Excelでxlsmファイルとして保存する方法

VBAでマクロを作成したにもかかわらず、いつもと同じ感覚でxlsx形式を選んで保存しようとすると、マクロをそのまま保持できません。ここはxlsmを初めて扱う方が特につまずきやすいポイントです。

「Excelで作ったのだから、そのまま保存すれば大丈夫」と思いやすいのですが、マクロを残すには保存形式まで意識する必要があります。業務で使う自動化ツールの場合、保存形式を間違えると次回から処理を実行できなくなる可能性もあります。

また、ファイル名を「○○.xlsm」に変更するだけでは、正しくxlsm形式へ変換したことにはなりません。Excelの保存機能から適切なファイル形式を指定することが重要です。

マクロを作成・編集する場合は、保存するときの手順までセットで覚えておきましょう。

・xlsm形式を指定して保存する手順

マクロを含むExcelブックをxlsmとして保存する場合は、「名前を付けて保存」からファイル形式を指定します。

  1. Excelで保存したいブックを開きます。
  2. 「ファイル」タブをクリックします。
  3. 「名前を付けて保存」を選択します。
  4. 保存するフォルダーを指定します。
  5. 「ファイルの種類」を確認します。
  6. 「Excel マクロ有効ブック(*.xlsm)」を選択します。
  7. ファイル名を入力して「保存」をクリックします。

これで、マクロを保持できるxlsm形式として保存できます。

一度xlsm形式で保存したファイルは、その後通常の「上書き保存」を行ってもxlsm形式が維持されます。

重要なのは、マクロを残したい場合は「Excel マクロ有効ブック」を選択することです。

ファイル名だけを変更するのではなく、「ファイルの種類」で保存形式を指定しましょう。

・xlsxで保存するときはマクロが失われないか確認する

マクロを含んだxlsmファイルをxlsx形式で保存しようとすると、マクロを保存できないことを知らせるメッセージが表示される場合があります。

このとき、内容を確認せずにそのまま保存を進めるのは避けたほうがよいでしょう。

たとえば、社内で利用している集計ツールを「普通のExcelファイルにしたい」という理由だけでxlsxとして保存すると、そのファイルではVBAによる自動処理を維持できません。

xlsx形式のファイルが必要なのであれば、元のxlsmを残したうえで別ファイルとして保存する方法もあります。

特に業務用ファイルでは、元ファイルを直接変更する前にコピーを作成しておくと安心です。

xlsmへの変更だけでなく、保存場所やファイル名、保存形式を指定して別ファイルとして残したい場合には「名前を付けて保存」を使用します。上書き保存との違いから確認したい方は、「名前を付けて保存とは」も参考にしてください。


 

✅ xlsmファイルのマクロを有効にするときの注意点

xlsmファイルを開いた際にセキュリティに関する表示が出ると、「使うためにはとりあえず有効化すればよい」と考えてしまうことがあります。しかし、xlsmはVBAコードを含められるため、マクロを実行する前にはファイルの入手元を確認することが重要です。

一方で、「xlsm=危険なファイル」と覚えてしまうのも正しくありません。社内で作成した業務ツールなど、正当な目的でxlsmが利用されるケースは数多くあります。

大切なのは拡張子だけで安全性を判断するのではなく、「誰が作成したファイルなのか」「どこから入手したのか」を確認することです。

特にインターネットやメール経由で取得したファイルでは、マクロを有効化する前の確認を習慣にしておきましょう。

・マクロをすぐ有効化しないほうがよいケース

次のようなxlsmファイルでは、内容を確認せずにマクロを有効化することは避けましょう。

・送信者に心当たりがない
・ファイルを受け取る予定がなかった
・入手元を確認できない
・ファイルの用途がわからない
・マクロを使用する理由が不明

xlsmはマクロを「保存できる形式」であり、すべてのxlsmファイルが危険という意味ではありません。

ただし、マクロではExcel上の繰り返し作業などを自動化できるため、信頼できないファイルについては慎重に扱う必要があります。

業務で受け取ったファイルであれば、必要に応じて作成者や管理担当者へ用途を確認してから利用するとよいでしょう。


✅ xlsmファイルが実務で使われる場面

xlsmは「マクロを保存できる」という特徴だけを覚えても、実際にどのような場面で必要になるのかイメージしにくいかもしれません。

実務では、毎日・毎週・毎月繰り返しているExcel作業を自動化する目的で利用されることがあります。特に、手作業では時間がかかる処理をVBAでまとめたブックではxlsmが重要になります。

ただし、すべてのExcelファイルをxlsmにすればよいわけではありません。マクロを必要としない資料までxlsmにすると、受け取った人が「なぜマクロ形式なのだろう」と迷う原因にもなります。

xlsmが必要になる場面を理解し、用途に合わせて使い分けることが大切です。

・繰り返し作業をVBAで自動化する場合

xlsmが活躍する代表例が、繰り返し行うExcel作業の自動化です。

たとえば、次のような処理があります。

・複数シートのデータを一つにまとめる
・決まった形式の帳票を作成する
・不要な行や列を整理する
・指定した条件でデータを転記する
・複数ファイルの情報を集計する

こうした処理をVBAで作成し、そのコードをブック内に保存して繰り返し利用する場合にxlsmが使われます。

たとえば、毎月30分かかっていた集計をマクロで自動化できれば、次月以降も同じxlsmファイルから処理を実行できます。

xlsmは、単にデータを保存するだけではなく、Excel作業を自動化する仕組みそのものを保存する役割も持っているのです。

・マクロを使わないならxlsxで十分な場合もある

通常の表や資料を作成するだけで、VBAマクロを使用しないのであれば、必ずしもxlsmにする必要はありません。

たとえば、

・表を作ってデータを入力する
・Excel関数で計算する
・グラフを作成する
・一般的な資料として共有する

といった用途であれば、xlsx形式で対応できるケースが多くあります。

「xlsmのほうが高機能だから、とりあえずxlsmで保存する」という考え方ではなく、マクロを保持する必要があるかどうかで判断するとわかりやすくなります。


✅ xlsmファイルとExcel VBAの関係を理解しよう

xlsmについて調べていると「VBA」という言葉が頻繁に登場するため、両者を同じものだと誤解してしまうことがあります。しかし、xlsmはファイル形式であり、VBAはExcelなどの処理を自動化するために利用されるプログラミング言語です。

この関係を理解していないと、「xlsmに変換すれば自動的にマクロが作られる」と勘違いしてしまう可能性があります。

xlsm形式で保存しただけでは、Excel作業が自動化されるわけではありません。VBAで処理を作成し、それを保持できる入れ物の一つがxlsmです。

ここを区別して理解すると、マクロ有効ブックという名称の意味もわかりやすくなります。

・xlsmはVBAコードを保持するための入れ物になる

VBAを利用すると、Excelで行っているさまざまな操作を自動化できます。

たとえば、人が手作業で「コピー→貼り付け→並べ替え→集計」と繰り返している処理を、VBAでまとめて実行できる場合があります。

このVBAコードをブック内に残しておくために使われるのがxlsm形式です。

関係を簡単に整理すると、

VBA:Excelの処理を自動化する仕組みを作る

xlsm:作成したVBAマクロを保持できるExcelファイル

と考えると理解しやすいでしょう。

普段はxlsxしか使っていない方でも、Excel作業の自動化に興味を持ったときにxlsmを扱う機会が増えてきます。

「同じ作業を何度も繰り返している」「毎月決まった集計を手作業で行っている」といった場合は、xlsmとVBAの仕組みを知ることで、Excelをさらに効率的に活用できる可能性があります。

xlsmを使ってVBAによる自動化を始めると、ファイルの保存自体をマクロで処理することもできます。たとえば、毎回異なる名前でバックアップを残したい場合は、「VBAで日付を含むファイル名で自動保存する方法」のような自動化へ発展させることもできます。


 

✅ まとめ:xlsmファイルの特徴を理解して正しく使い分けよう

xlsmは、ExcelでVBAマクロを保存できる「Excel マクロ有効ブック」のファイル形式です。

見た目や基本操作は一般的なxlsxファイルと大きく変わりませんが、マクロを保持できるという重要な特徴があります。

今回のポイントを整理すると、次のとおりです。

・xlsmはVBAマクロを保存できるExcelファイル
・通常のセル入力や関数、グラフなども利用できる
・マクロを残す場合は「Excel マクロ有効ブック(*.xlsm)」として保存する
・xlsx形式ではVBAマクロを保持できない
・xlsmを開くこととマクロを有効化することは別に考える
・入手元が不明なファイルでは安易にマクロを有効化しない
・繰り返し作業をVBAで自動化する業務ファイルなどでxlsmが活用される
・マクロを使用しない一般的な資料ではxlsxで十分な場合も多い

普段xlsxしか使わない方でも、xlsmの意味を知っておけば、マクロを含む業務ファイルを受け取ったときに戸惑いにくくなります。

特に重要なのは、「xlsmだから危険」「xlsmだから高機能」と単純に判断するのではなく、マクロを保存する必要があるかどうかで使い分けることです。

Excelで繰り返している作業が増えてきたら、xlsmの役割を理解したうえでVBAによる自動化にも目を向けてみると、日々の作業時間を短縮するきっかけになるでしょう。

    -Excelの基本・用語, Excel一覧, Excel操作