オプションの設定項目には、シーンに応じて切り替えて使いたいものもあります。ただ、実際に切り替るのに、ダイアログボックスを表示するのも、多数の項目から目的の項目を探すのに手間取るのも面倒です。
このような項目はあらかじめマクロ化しておき、ショートカットキーやリボンに登録しておいて手早く切り替えられるようにしておくと作業効率が格段に向上できます。元に戻すのも楽です。
筆者が実際に利用しているマクロを紹介します。
Enter確定時のフォーカス遷移方向を変更する
[詳細設定]-[編集オプション]の [Enterキーを押したら、セルを移動する]に対応します。
定型テーブルに値をいくつも続けて入力していくような場合に使います。デフォルトでは[Enter]キーで値を確定したときにセルの選択は下に移動しますが、これを右に移動するようにします。テーブルのフォーマットによって素早く切り替えられるので便利です。
Sub Enter確定時のフォーカス方向切替()
With Application
.MoveAfterReturn = True
.MoveAfterReturnDirection = IIf(.MoveAfterReturnDirection = xlDown, xlToRight, xlDown)
End With
End Sub
IIf(
評価式,
Trueの場合の値,
Falseの場合の値)
IIf
関数は、評価式結果のTrue
/False
に応じた値を返します。If
~Then
~Else
構文でも同じ処理を記述できますが、IIf
を使うと「設定対象は同じであり設定値が異なる」という構造を分かりやすくできます。
列番号をアルファベットから数字に変える
[詳細設定]-[行列番号を表示する] と、[数式]-[数式の処理]の[R1C1参照形式を使用する]に対応します。
マクロ作成で、Offset関数などで列の相対位置を利用する際によく使います。例えばU列とAE列の相対位置も簡単に導出できるようになります。
Sub R1C1切替()
ActiveWindow.DisplayHeadings = True
Application.ReferenceStyle = IIf(Application.ReferenceStyle = xlA1, xlR1C1, xlA1)
End Sub