残業を減らす!Officeテクニック
Excelマクロをどのファイルでも使えるようにする方法 ~XLSMファイル不要!
2026年7月13日 08:45
マクロを記録したファイルを保存する場合、ファイルの種類として「マクロ有効ブック(.xlsm)」を指定しなければならないと思い込んでいる人は多いのではないでしょうか。確かに、今開いているファイルにマクロを記録するなら、その通りです。
そのため、よく使う処理を記録しておきたくても、諦めてしまうこともあるでしょう。特に共有ファイルでは、運用ルールとしてマクロの利用が制限されているケースも少なくありません。
そんな時は「個人用マクロブック(PERSONAL.XLSB)」を利用してみてください。どのブックからでも利用できるマクロを保存できるファイルです。
個人用マクロブックにマクロを記録することで、いつものExcelファイル(.xlsx)を開いてもマクロを実行できるようになります。ファイルを「.xlsm」に保存し直す必要もありません。
マクロを記述することに抵抗がある人でも大丈夫。自動記録したマクロを利用して、Copilotに整えてもらえば、いつもの操作を簡略化できるようになりますよ。
マクロを記録する
ここでは簡単な例として、セルの文字を太字かつ赤字にするマクロを「相対参照」で記録します。マクロの名前は任意で構いませんが、わかりやすいものに設定しておくといいでしょう。また、ショートカットキーとして[Shift]+[Ctrl]+[B]を設定します。
ポイントは3つあります。まず、任意のセルで利用できるように必ず「相対参照」で記録すること、[Ctrl]+[C]のような、既存のショートカットキーと重ならないキーを指定すること、マクロの保存先を[個人用マクロブック]とすることです。
なお、[開発]タブは[Excelのオプション]から[開発]にチェックを付けることで表示できます。
個人用マクロブックにマクロを保存する
上記の手順で「個人用マクロブック」にマクロが記録されました。しかし、個人用マクロブック(PERSONAL.XLSB)はまだ保存されていません。マクロの内容を確認して上書き保存しておきましょう。
マクロとして記録されるコードは環境によって異なります。今回記録されたコードを簡単に説明すると、「Selection.Font.Bold = True」で太字を設定し、「.Color = -16776961」で赤字を設定します。「.TintAndShade = 0」は色の明るさを設定するコードです。今回の目的では不要なので、削除しても問題ありません。
Sub SetRedBold()
'
' SetRedBold Macro
'
' Keyboard Shortcut: Ctrl+Shift+B
'
Selection.Font.Bold = True
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End Sub
作成済みのマクロをCopilotで書き換える
他のファイルを開いて、個人用マクロブックに登録したマクロが動作するかどうかを確認してみましょう。[Shift]+[Ctrl]+[B]のショートカットキーを使ってみます。
ここで、設定した書式を元に戻したい場合はどうすればよいでしょうか。もう一度、ショートカットキーを押しても書式は元に戻せません。Copilotにコードを整えてもらうのが簡単です。
修正してほしい内容を伝えることも大切ですが、マクロ名を勝手に変更しないように明記しておくことがポイントです。
ここでは、以下のようなプロンプトを入力しました。作成済みのコードをコピーしたうえで、区切りが明確になるように「---」を挿入しています。コードの部分は実際に作成された内容に差し替えて利用してください。
以下は自動記録したマクロです。
赤字と太字が設定されている場合は、標準の文字色に戻して太字を解除するようにコードを書き換えてください。
マクロ名は変更しないでください。
---
Sub SetRedBold()
'
' SetRedBold Macro
'
' Keyboard Shortcut: Ctrl+Shift+B
'
Selection.Font.Bold = True
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End Sub
---
以下は、今回Copilotが書き換えたコードの一例です。赤色を表す数値(255)を定数として定義し、条件分岐(If文)で赤字と太字が設定されている場合は解除し、それ以外の場合は設定するように改善されています。ショートカットキーを繰り返し押すだけで書式を切り替えられます。
Sub SetRedBold()
'
' SetRedBold Macro
' 赤字&太字 ⇔ 黒字&標準 のトグル
'
' Keyboard Shortcut: Ctrl+Shift+B
'
Const RED_COLOR As Long = 255
With Selection.Font
If .Bold = True And .Color = RED_COLOR Then
' 赤字&太字の場合 → 黒字にして太字を解除
.Bold = False
.Color = 0 ' 黒色
.TintAndShade = 0
Else
' それ以外 → 赤字&太字を設定
.Bold = True
.Color = RED_COLOR
.TintAndShade = 0
End If
End With
End Sub
「コードを洗練させたい」「コメントを詳しく」「なるべく簡潔に」といった指示を追加すると、生成されるコードは変わってきます。なお、ExcelのCopilotの画面が狭い場合は、Web版のCopilotを利用してもいいでしょう。
更新したマクロの内容を確認しておきます。ショートカットキーが設定されていない場合は、[開発]タブにある[マクロ]をクリックして、マクロのオプションから再設定してください。
Copilotへコードの修正や機能追加を依頼することで、プログラミングの知識がなくても、用途に合わせてマクロを改善できます。
個人用マクロブックへ登録したマクロは、現在開いているブックだけでなく、新しく作成したブックや既存の「.xlsx」ファイルからでも利用できます。繰り返し行う操作を登録しておけば、自分専用の機能として長く活用できるでしょう。










































