With ~End With ステートメント
これまでの参考例
※ローカル環境でも有益なコードを取得して運用可能です。
マクロで取得した記述例(With Selection~End With)は、下記をご覧ください。
今回の簡単に取得したマクロ例
Sub マクロ記録() Range("B2").Select ActiveCell.FormulaR1C1 = "あ" Range("B2").Select With Selection.Font .Color = -16776961 .TintAndShade = 0 End With With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With Selection.Font.Bold = True End Sub
記録した内容

- B2セルを選らんで「あ」を入力して確定
- 確定したら選択セルがずれるので「B2」を再選択
- フォント色を赤に
- 背景色を黄色に
- 太字に
With ~End With の解釈
要らないところを精査する
上記と同様のマクロの不要部分を精査したものが下記です。
Sub マクロを精査()
Range("B2").Select
ActiveCell.value= "あ"
'’====================
With Selection.Font
.Color = -16776961
.Bold = True
End With
'’====================
With Selection.Interior
.Color = 65535
End With
'’====================
End Sub
さらに[Selection]を削って纏める (※[With Range~]で纏める )
Sub マクロを精査して纏め()
Range("B2").Value = "あ"
Range("B2").Interior.Color = 65535
'’====================
With Range("B2").Font
.Color = -16776961
.Bold = True
End With
'’====================
End Sub
[Range] は変数として代入可能
Sub Rangeで纏め_2()
Dim RNG As Range
Set RNG = Range("B2")
'’====================
With RNG
.Value = "あ"
.Interior.Color = 65535
End With
'’====================
With RNG.Font
.Color = -16776961
.Bold = True
End With
'’====================
End Sub
2.- 1,2,3は[全て同じ結果になります]
With ステートメントを理解して、自分に合った記述を
同じ内容の記述でも、自分に見易い記述をしていく事で、
コードはかなり分かり易くなります。
自分に理解し易い記述が良いでしょう。
※他人と共有しないといけないファイルは、
自分のみに偏った記述方法には注意しましょう。