構文
Object.Value2
Valueプロパティはセルの入力値を取得しますが、
Value2プロパティはセルのシリアル値を取得します。
Value2と2がついているから上位のプロパティという訳でなく、使用用途が異なります。
Value2プロパティのコードサンプル
Public Sub test()
'■セルA1に"=TODAY"と数式が入力されている場合
Debug.Print Range("A1").Value '2021/03/14
Debug.Print Range("A1").Value2 '44268
'■セルA1に"=Now()"と数式が入力されている場合
Debug.Print Range("A1").Value '2021/03/14 19:55:24
Debug.Print Range("A1").Value2 '44268.8301361111
'■セルA1に"あいうえお"と値が入力されている場合
Debug.Print Range("A1").Value 'あいうえお
Debug.Print Range("A1").Value2 'あいうえお
'■セルA1に""と何も入力されていない場合
Debug.Print Range("A1").Value '""(空白)
Debug.Print Range("A1").Value2 '""(空白)
End Sub
注意点
関連記事
セルに値を入力する【Valueプロパティ】【ExcelVBA】
【VBA基本】変数のデータ型一覧
【VBA基本】セルやセル範囲の値を消去する
RangeとCellの使いわけ【VBA基本】



コメント