はじめに
VBAを使い始めると耳にする「個人用マクロブック」。どのExcelファイルを開いていても共通で使えるマクロを保存しておける、とても便利な隠しファイルです。
しかし、「マクロの整理のために一度リセットしたい」「動作がおかしくなったので再作成したい」といった理由で、この個人用マクロブックの場所を探し、削除したいという場面が出てくることがあります。
この記事では、VBAを使って個人用マクロブック(PERSONAL.XLSB)の保存場所を特定する方法と、削除する際の注意点や具体的なコードを分かりやすく解説します。
⚠️ 重要:削除する前の注意 個人用マクロブックを削除すると、そこに保存されているマクロは全て失われます。 削除は自己責任で、事前にバックアップを取るなど、慎重に行ってください。
個人用マクロブックとは?
個人用マクロブックは、Excelの起動時に自動的に読み込まれる、マクロ専用の特別なブックです。
- ファイル名: 
PERSONAL.XLSB - 保存場所: 
XLSTARTという名前の特殊なフォルダ 
この XLSTART フォルダに保存されたファイルは、Excel起動時に必ず開かれる仕組みになっています。個人用マクロブックは、通常は非表示になっているため、その存在に気づきにくいかもしれません。
VBAで場所を特定する方法
個人用マクロブックが保存されている XLSTART フォルダのパスは、VBAの Application.StartupPath プロパティで簡単に取得できます。
以下のコードを実行すると、イミディエイトウィンドウにそのパスが表示されます。
場所を調べるサンプルコード
Sub FindPersonalMacroWorkbookPath()
    ' Application.StartupPathプロパティでXLSTARTフォルダのパスを取得
    Dim startupFolderPath As String
    startupFolderPath = Application.StartupPath
    
    ' イミディエイトウィンドウに出力
    Debug.Print "個人用マクロブックの保存場所(XLSTARTフォルダ):"
    Debug.Print startupFolderPath
    ' メッセージボックスで表示
    MsgBox "個人用マクロブックは以下のフォルダにあります:" & vbCrLf & vbCrLf & startupFolderPath, vbInformation
End Sub
【実行方法】
- VBE(
Alt + F11)を開きます。 - イミディエイトウィンドウを表示します(
Ctrl + G)。 - 上記コードを実行すると、イミディエイトウィンドウとメッセージボックスに 
C:\Users\ユーザー名\AppData\Roaming\Microsoft\Excel\XLSTARTのようなパスが表示されます。 
VBAで削除する方法(⚠️取扱注意)
場所が特定できれば、ファイルを削除することも可能です。ただし、前述の通り、保存したマクロが全て消えるため、実行は慎重にお願いします。
不要になった場合でも、いきなり削除するよりは、まずファイル名を「PERSONAL_old.XLSB」のように変更(リネーム)して様子を見ることをお勧めします。
削除を実行するサンプルコード
ここでは、より安全な FileSystemObject を使って削除する方法をご紹介します。
Sub DeletePersonalMacroWorkbook()
    '== 変数定義 ==
    Dim objFSO As Object
    Dim personalBookPath As String
    Dim userResponse As VbMsgBoxResult
    '== パスの設定 ==
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    personalBookPath = Application.StartupPath & "¥PERSONAL.XLSB"
    
    '== ファイルの存在確認 ==
    If Not objFSO.FileExists(personalBookPath) Then
        MsgBox "個人用マクロブック(PERSONAL.XLSB)は見つかりませんでした。", vbInformation
        Exit Sub
    End If
    
    '== ユーザーに最終確認 ==
    userResponse = MsgBox("以下の個人用マクロブックを完全に削除します。" & vbCrLf & _
                          "保存されているマクロは全て失われますが、よろしいですか?" & vbCrLf & vbCrLf & _
                          personalBookPath, _
                          vbCritical + vbOKCancel, "最終確認")
                          
    '== OKが押された場合のみ削除を実行 ==
    If userResponse = vbOK Then
        On Error Resume Next ' Excelで開かれている可能性を考慮
        objFSO.DeleteFile personalBookPath, True '読み取り専用でも強制削除
        On Error GoTo 0
        
        If Not objFSO.FileExists(personalBookPath) Then
            MsgBox "個人用マクロブックを削除しました。", vbInformation
        Else
            MsgBox "ファイルの削除に失敗しました。" & vbCrLf & _
                   "Excelを一度再起動してからお試しください。", vbExclamation
        End If
    Else
        MsgBox "処理を中断しました。", vbInformation
    End If
    
    '== オブジェクト解放 ==
    Set objFSO = Nothing
End Sub
手動で削除(またはリネーム)する方法
VBAを使わずに、手動でフォルダを開いて操作する方が安心な場合も多いでしょう。
- 上記の「場所を調べるサンプルコード」を実行して、
XLSTARTフォルダのパスをコピーします。 - エクスプローラーのアドレスバーに、コピーしたパスを貼り付けて 
Enterキーを押します。 XLSTARTフォルダが開きます。- 中にある 
PERSONAL.XLSBファイルを削除、または名前の変更を行います。 
まとめ
今回は、個人用マクロブックの場所を特定し、削除する方法について解説しました。
- 保存場所は 
Application.StartupPathで特定できる。 - 削除するとマクロが全て消えるため、バックアップやリネームを推奨。
 - VBAでの削除も可能だが、手動での操作がより安全。
 
個人用マクロブックは非常に便利ですが、その仕組みと場所を知っておくことで、トラブルが発生した際にも冷静に対処できます。ぜひ今回の内容を知識として覚えておいてください。
