A1形式からR1C1形式へ素早く切り替える
マクロ 55回
A 1形式から R 1 C 1形式へボタンで素早く切り替える
VBA でコードを書くときには A 1形式よりも R 1 C 1形式で 表示されていた方が、 楽です。
そこで A 1形式から R 1 C 1形式へ切り替える 操作をボタン一つで簡単にやってしまおうというマクロコードを作ります。
(サンプルファイルは、こちらから
マクロ55回サンプルデータ)
VBA で 表示形式のタイプを知る
VBA で A 1形式の表示スタイルを設定するには、 オブジェクトにアプリケーションを指定してリフォランススタイルプロティで表示することができます。以下のコードでは A 1 形式に表示します。
Application.ReferenceStyle = xlA1
![A1形式からR1C1形式へ素早く切り替えるマクロ1](gazo2019/macro/macro55_02.png)
R 1 C 1形式は以下ように記述します。
![A1形式からR1C1形式へ素早く切り替えるマクロ2](gazo2019/macro/macro55_03.png)
Application.ReferenceStyle = xlR1C1
![A1形式からR1C1形式へ素早く切り替えるマクロ2](gazo2019/macro/macro55_03.png)
Excel のオプションから 表示形式を切り替える
Application.ReferenceStyleをExcel のオプションから 表示切り替えるには、リボンの空白のところで右クリックをしてリボンのユーザー設定を クリックします。
![A1形式からR1C1形式へ素早く切り替えるマクロ3](gazo2019/macro/macro55_04.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ3](gazo2019/macro/macro55_04.png)
エクセルのオプションダイアログが表示されます。
![A1形式からR1C1形式へ素早く切り替えるマクロ4](gazo2019/macro/macro55_05.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ4](gazo2019/macro/macro55_05.png)
左側のメニューから数式をクリックして 表示される 右側のグループの中から数式の処理 にある、 R 1 C 1参照形式を使用するにチェックを入れます。
![A1形式からR1C1形式へ素早く切り替えるマクロ5](gazo2019/macro/macro55_06.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ5](gazo2019/macro/macro55_06.png)
OK をクリックしてエクセルのオプションダイアログを閉じます。 これで表示形式が変更になります。
![A1形式からR1C1形式へ素早く切り替えるマクロ6](gazo2019/macro/macro55_07.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ6](gazo2019/macro/macro55_07.png)
R 1 C 1参照形式になりました。 元に戻したい時は今と同じ手順で、オプション画面から R 1 C 1参照形式を使用するのチェックを外してください。
![A1形式からR1C1形式へ素早く切り替えるマクロ7](gazo2019/macro/macro55_08.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ7](gazo2019/macro/macro55_08.png)
VBA コードで記述する
マクロで Application ReferenceStyle を設定するときは以下のように記述します。
![A1形式からR1C1形式へ素早く切り替えるマクロ8](gazo2019/macro/macro55_09.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ8](gazo2019/macro/macro55_09.png)
R 1 C 1形式に設定して更にメッセージボックスで R 1 C 1形式に変更したと伝えます。
Sub 表示R1C1settei() Application.ReferenceStyle = xlR1C1 MsgBox "形式は" & Application.ReferenceStyle & "つまりR1C1形式です。" End Sub
実行すると R 1 C 1形式になりさらに以下のメッセージが表示されます。 R 1 C 1形式の場合、形式を表す定数は-4150です。
こちらは A 1形式に戻すためのコード。実行するとメッセージで A 1形式に設定したことを伝えます。
Sub A1settei() Application.ReferenceStyle = xlA1 MsgBox "形式は" & Application.ReferenceStyle & "つまりA1形式です。" End Sub
A 1形式の場合 A 1形式を表す定数は1です。
![A1形式からR1C1形式へ素早く切り替えるマクロ13](gazo2019/macro/macro55_13.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ13](gazo2019/macro/macro55_13.png)
A 1形式から R 1 C 1形式へ相互に切り替える
今度はもし A 1形式なら R 1 C 1に変更し、 それ以外 つまり R 1 C 1形式の場合には A 1形式にすると いう内容のコードにします。
Sub 表示形式切り替え() If Application.ReferenceStyle = xlA1 Then Application.ReferenceStyle = xlR1C1 Else Application.ReferenceStyle = xlA1 End If End Sub
A 1形式のときにコードを実行すると R 1 C 1形式に変更されます。
![A1形式からR1C1形式へ素早く切り替えるマクロ15](gazo2019/macro/macro55_15.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ15](gazo2019/macro/macro55_15.png)
R 1 C 1形式のときにコードを実行すると A 1形式に変更になります。
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_16.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_16.png)
ボタンに表示形式変更マクロを登録
それでは仕上げとして 表示形式変更マクロをボタンに登録しましょう。
開発タブの コントロールから 挿入ボタンをクリックして フォームコントロールのボタンを選択します。
![A1形式からR1C1形式へ素早く切り替えるマクロ17](gazo2019/macro/macro55_17.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ17](gazo2019/macro/macro55_17.png)
マクロの登録ダイアログが表示されるので、ここではボタン表示切替を選択します。。
![A1形式からR1C1形式へ素早く切り替えるマクロ18](gazo2019/macro/macro55_18.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ18](gazo2019/macro/macro55_18.png)
ボタンが選択状態になっているので、このままボタンの名前を変更します。
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_19.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_19.png)
ボタンをクリックするたびに 表示形式が A 1から R 1 C 1 、
R 1 C 1から A 1というふうに切り替わります。
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_20.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_20.png)
頻繁に切り替えるようであれば、リボンにユーザー設定のタブを作成し、そこにマクロを登録して使用する方法も便利です。
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_21.png)
![A1形式からR1C1形式へ素早く切り替えるマクロ16](gazo2019/macro/macro55_21.png)
方法はミニマクロ講座の5回で紹介しています。