【Excel】PERSONAL.XLSBにマクロ保存して、どのファイルでも自作マクロを使えるようにする
※本記事は広告を含みます
「このマクロ、他のExcelファイルでも使えるようにしたいなあ」ってのを解決する手段がコレです。
通常、Excelマクロ(VBA)は作成したブック(ファイル)内に保存されるため、別のファイルで同じマクロを使いたい場合は、マクロが保存されているファイルを開いておく必要があります。
しかし、「個人用マクロブック(PERSONAL.XLSB)」にマクロを保存しておけば、Excelを開いている時はいつでも、どのファイルからでもそのマクロを呼び出せるようになります。
今回は、この「PERSONAL.XLSB」の作り方と、便利な使い方について解説しようと思います。
「PERSONAL.XLSB(個人用マクロ ブック)」とは?
PERSONAL.XLSB(個人用マクロ ブック)は、Excelを起動した際に「裏側(非表示)」で自動的に開かれる特別なファイルです。
このファイルの中にマクロのコードを保存しておけば、現在作業しているExcelファイルが何であっても、保存したマクロを呼び出して実行することができます。
「セルの書式を整える」「選択範囲の空白行を削除する」など、日常的にどんなファイルでも行っているような定型作業を自動化するマクロを入れておくのに最適です。
PERSONAL.XLSBの作り方
実は、初期状態ではパソコン内にPERSONAL.XLSBは存在しません。
一度「個人用マクロ ブック」を指定してマクロの記録を行うことで、自動的に作成されます。
初期ではこんな感じです↓
C:\Users\[ユーザー名]\AppData\Roaming\Microsoft\Excel\XLSTART

作成手順
- Excelを開き、リボンの「表示」タブ(または「開発」タブ)にある「マクロ」から「マクロの記録」をクリックします。

- 「マクロの記録」ダイアログが表示されたら、「マクロの保存先」を「個人用マクロ ブック」に変更します。(マクロ名などはなんでも大丈夫です)

- 「OK」をクリックすると、マクロの記録が開始されます。
- 適当なセルを1つクリックするなど、何でもいいので1つ操作を行います。
- 再度「マクロ」メニューから「記録終了」をクリックします。

これでPERSONAL.XLSBが作成されました!

作成したPERSONAL.XLSBにマクロを登録・編集する
VBAエディタを開いて、実際に使いたいマクロのコードを書き込んでみましょう。
Alt+F11キーを押して、VBE(Visual Basic Editor)を開きます。- 左側の「プロジェクト エクスプローラー」を見ると、
VBAProject (PERSONAL.XLSB)が追加されていることがわかります。

- その中の
標準モジュール->Module1をダブルクリックして開きます。 - 先ほど記録したダミーのマクロ(
Sub Macro1()なと)が書かれているので、それを消して、自分がいつも使いたいマクロのコードを貼り付けます。

これで登録は完了です。
なお、今回よくみるやつを置いてみました。A1セルを選択した状態で揃えるものです。
Sub ResetAllSheetsToHome()
Dim ws As Worksheet
' 高速化設定
On Error GoTo ErrorHandler
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
' 「ThisWorkbook」を「ActiveWorkbook」に変更!
' これで今開いているブックが対象になるよ
For Each ws In ActiveWorkbook.Worksheets
' 非表示シートをスキップ
If ws.Visible = xlSheetVisible Then
ws.Activate
' A1を選択(これだけでもスクロールは戻るよ)
ws.Range("A1").Select
' 念のためスクロール位置もリセット
With ActiveWindow
.ScrollRow = 1
.ScrollColumn = 1
End With
End If
Next ws
CleanUp:
' 最後に1番左の表示シートを選択
Dim firstWs As Worksheet
For Each firstWs In ActiveWorkbook.Worksheets
If firstWs.Visible = xlSheetVisible Then
firstWs.Activate
Exit For
End If
Next firstWs
' 設定を元に戻す
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
' 動いたことがわかるように音かメッセージを出す
MsgBox "A1に戻したよ!"
Exit Sub
ErrorHandler:
MsgBox "エラーが出ちゃった: " & Err.Description
Resume CleanUp
End Sub
クイックアクセスツールバーに登録すると良き
せっかくどこでも使えるマクロを作ったなら、実行もワンクリックでできるようにするとさらに便利です。Excelの画面左上にある「クイックアクセスツールバー」にマクロのボタンを追加しましょう。
- Excelの 「ファイル」 -> 「オプション」 を開きます。
- 左側のメニューから 「クイックアクセスツールバー」 を選択します。
- 「コマンドの選択」のプルダウンから 「マクロ」 を選びます。
- 一覧に
PERSONAL.XLSB!マクロ名が表示されるので、選択して真ん中の 「追加」 ボタンをクリックします。 - (おまけ)追加されたマクロを選択し、右下の 「変更」 ボタンを押すと、好きなアイコンに変更できます。
- 「OK」で閉じます。

これで、Excelの左上に専用のボタンが追加され、いつでもワンクリックで好きなマクロを発動できるようになります。

まとめ
PERSONAL.XLSBを活用すれば、日々のクッソだるい繰り返し作業がかなり楽になりますし、ミスも発生しづらくなります。とくにドキュメント納品とかする際は、特定のルールに基づきひたすら同じことを繰り返すことになると思うので、こいつを使えるようにしておくと便利です。
Excelおじさんに幸あれ。
最後に
どっちかというと若者向けかも知れねえ。