shokosブログ

プログラミング

Withステートメント

こんな書き方出来るんだ!って思ったVBAの構文

Sub WithTest()
    Range("A1").font.Color = RGB(0, 255, 0)
    Range("A1").font.Size = 10
    Range("A1").font.Bold = True
    
    With Range("A2").font
        .Color = RGB(0, 255, 0)
        .Size = 10
        .Bold = True
    End With
    
    Dim cellFont As font
    Set cellFont = Range("A3").font
    cellFont.Color = RGB(0, 255, 0)
    cellFont.Size = 10
    cellFont.Bold = True
End Sub


A1とA2とA3のフォントに対して、それぞれ色、サイズ、太字フラグを指定しています。


A2に使ったwithステートメントは、対象オブジェクト(この場合はRange("A2").font)に対して、一連のステートメントを実行できるらしい!

こんな構文初めて見ました!

ちょっと調べたらPythonとかjavascriptでも使えるらしい