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
R 1 C 1形式は以下ように記述します。
Application.ReferenceStyle = xlR1C1
Excel のオプションから 表示形式を切り替える
Application.ReferenceStyleをExcel のオプションから 表示切り替えるには、リボンの空白のところで右クリックをしてリボンのユーザー設定を クリックします。
エクセルのオプションダイアログが表示されます。
左側のメニューから数式をクリックして 表示される 右側のグループの中から数式の処理 にある、 R 1 C 1参照形式を使用するにチェックを入れます。
OK をクリックしてエクセルのオプションダイアログを閉じます。 これで表示形式が変更になります。
R 1 C 1参照形式になりました。 元に戻したい時は今と同じ手順で、オプション画面から R 1 C 1参照形式を使用するのチェックを外してください。
VBA コードで記述する
マクロで Application ReferenceStyle を設定するときは以下のように記述します。
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です。
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形式に変更されます。
R 1 C 1形式のときにコードを実行すると A 1形式に変更になります。
ボタンに表示形式変更マクロを登録
それでは仕上げとして 表示形式変更マクロをボタンに登録しましょう。
開発タブの コントロールから 挿入ボタンをクリックして フォームコントロールのボタンを選択します。
マクロの登録ダイアログが表示されるので、ここではボタン表示切替を選択します。。
ボタンが選択状態になっているので、このままボタンの名前を変更します。
ボタンをクリックするたびに 表示形式が A 1から R 1 C 1 、
R 1 C 1から A 1というふうに切り替わります。
頻繁に切り替えるようであれば、リボンにユーザー設定のタブを作成し、そこにマクロを登録して使用する方法も便利です。
方法はミニマクロ講座の5回で紹介しています。