値の取得や値入力はValueプロパティ
セルに値を入力する【Valueプロパティ】【ExcelVBA】で説明していますが、
通常、VBAでセルにデータ反映する時は.Valueをつけます。
'(例) Range("A1").Value = "あいうえお" Cells(2,1).Value = "あいうえお"
Valueプロパティがなくても同様の動作となる
Web上にサンプルが豊富にあるVBAマクロのコードでは、
Valueを付けない(省略された)コードも多く見受けられます。
これはどちらも正解で、Range、Cellsの場合、省略された場合は.Valueプロパティを指定されたとみなします。
'(例).Valueを省略しても Range("A1") = "あいうえお" Cells(2,1) = "あいうえお" '(例).Valueを省略しなくても結果は同じ Range("A1").Value = "あいうえお" Cells(2,1).Value = "あいうえお"
注意点
- Valueをつけてもつけなくてもどちらでもいいです。
大事なのは省略されても結果が一緒だという事を理解する事です。 - 最初は誰もがコピペで見様見真似でコード作成します。正常動作後、コードを見直すのは大事です。
- RangeとCellの違いや、使い分けはは以下記事を参考にしてください。
RangeとCellの使いわけ【VBA基本】 - 上記がプログラマーの癖になるので、つけるならつける、つけないならつけないと統一すべきです。
マクロはプログラム開発の敷居が低いです。その為、属人化しやすい事がデメリットです。
関連記事
セルに値を入力する【Valueプロパティ】【ExcelVBA】
セルのシリアル値を取得する【Value2プロパティ】【ExcelVBA】
セルの表示しているデータを取得する【Textプロパティ】【ExcelVBA】
セルの数式を取得する【Formula/FormulaR1C1プロパティ】【ExcelVBA】
コメント