【Excel VBA】A1形式・R1C1形式一発切替

この切り替えを頻繁に行うのは、マクロを作成しているときです。
マクロの内容によってはまったく不要なこともありますが、帳票への入力自動マクロとかデータの転記マクロとかで列数がやたら長いと、結構な頻度でA1形式・R1C1形式の切り替えを行いたくなります。
こんなとき、作成中のWorkBookに「ひと手間かけて」、このマクロとショートカットキーを割り当てておくと、以降のマクロ作成で非常に重宝します。

Worksheetの列番号の表示形式切替

アルファベット(A1形式)から数字(R1C1形式)に切り替える


「ファイル」→「オプション」→「数式」をクリック。
<数式の処理>の「☑R1C1参照形式を使用する」にチェックマーク→「OK」


数字(R1C1形式) からアルファベット(A1形式)に切り替える

「ファイル」→「オプション」→「数式」をクリックし。
<数式の処理>の「□R1C1参照形式を使用する」のチェックマークを外す→「OK」

A1形式とR1C1形式を一発で切り替える

切り替えマクロを作ってショートカットキーを割り当てる

マクロ

Sub A1_R1C1切替()
'Ctrl+Shift+R
    With Application
        If .ReferenceStyle = xlA1 Then
            .ReferenceStyle = xlR1C1
        ElseIf .ReferenceStyle = xlR1C1 Then
            .ReferenceStyle = xlA1
        End If
    End With
End Sub

ショートカットキーの割り当て

「表示」→「マクロ」→「マクロの表示」でマクロダイアログボックスが現れる。
マクロ名「A1_R1C1切替」を選択して「オプション」をクリック。

マクロオプションダイアログボックスが現れるので、ここでショートカットキーを登録する。

※登録済のキーを入力すると、勝手にCtrl+Shift+のようにShiftが追加されます。
Shift付きでも重複すると、先に登録された方のマクロだけが動き、後から登録したマクロは動きません(無視されます)ので注意が必要です。

まとめ

普通のExcel作業でA1形式・R1C1形式の切り替えを行うということは「まずない」と思います。
だから 「ファイル」→「オプション」→「数式」 ・・・の手順で不自由は感じません。
一方、開発中のマクロに、いちいち切替マクロ追加してショートカットキーを割り当てる「ひと手間」も煩わしい場合は、この切替マクロをアドインに登録したり、個人用マクロブックに登録する方法もあります。
ただし個人用マクロブックというのはあまりお勧めしません。会社の場合、いつも自分のPCで作業するとは限らないからです。(全員登録してくれると便利ですが)