【VBA】複数のセルに対し、1コードで同じ値/同じ数式を設定する

複数のセルに対し、
 ・同じ値
 ・同じ数式
1コードで設定できます!

1コードで設定できるため、
 ・ほぼ同じ処理を何度も記載して、複数のセルに設定する
 ・ループ処理により、複数のセルに設定する
といったやり方は不要です!

ほぼ同じ処理を何度も記載するのは不要のため、
コードを簡潔にすることができます!

ループ処理が不要のため
処理の高速化が期待できます!

複数のセルに対し、1コードで同じ値を設定する

ここでは例として、シート「sample」の
 ・セル「B2~B6」へ
 ・値「aiueo」を
設定します。

Sub sample()
    Worksheets("sample").Range("B2:B6") = "aiueo"
End Sub

上記を実行すると、1コードで
 ・複数のセル(B2~B6)に
 ・同じ値(aiueo)が
設定されたことを確認できます。

複数のセルに対し、1コードで同じ数式を設定する

ここでは例として、
 ・セル「B2~B6」へ
 ・数式「=ROW(B2)」
設定します。

Sub sample()
    Worksheets("sample").Range("B2:B6") = "=ROW(B2)"
End Sub

上記を実行すると、1コードで
 ・複数のセル(B2~B6)に
 ・数式が
設定されたことを確認できます。

ただ値の時と違い、数式の場合はセル毎に設定される内容は変わります
以下のようにセル毎に適切な数式が設定されます。

セル毎に設定される内容
  • セル「B2」・・・「=ROW(B2)」が設定される
  • セル「B3」・・・「=ROW(B3)」が設定される
  • セル「B4」・・・「=ROW(B4)」が設定される
  • セル「B5」・・・「=ROW(B5)」が設定される
  • セル「B6」・・・「=ROW(B6)」が設定される



この記事で紹介した内容は、
他のプログラミング言語には無いVBA独特の挙動です!

VBAでプログラムを作成する際は、VBA独特の挙動を
しっかり認識して作成しましょう!

タイトルとURLをコピーしました