valueで日付を参照した場合、取得されるのは表示されている日付となります。
これをシリアル値に換算するには、専用のvalue2プロパティを用います。
value/Textプロパティの場合
まずは下記記事のおさらいです。
ExcelVBA(マクロ)でセルの値を取得する方法/Value、Textプロパティの使い方
vbaでセルに表示されている値を「取得」する方法のご紹介です。
A1の値は2019/11/28、これが書式設定により2019年11月28日と表示されています。
ValueプロパティでA1の値を取得し、B1に代入します。
値である2019/11/28がB1に入ります。
今度はTextプロパティでA1の値を取得し、やはりB1に代入します。
すると、表示されていた2019年11月28日がB1に入ります。
Value2プロパティの使い方
では、今度は日付のシリアル値を取得してみたいと思います。
セルのシリアル値の取得
対象.value2
対象.value2
シリアル値を表示したいので、セルの書式はあらかじめ標準や数値に設定しておきます。
Range(“B1”).Value = Range(“A1”).Value2(A1のシリアル値を取得してB1の値に代入する)と記述します。
B1にA1のシリアル値が代入されました。
マクロによるシリアル値の取得については以上です。
Excel(エクセル):日付、時間、曜日、シリアル値
Excelの時間関連操作、設定、関数などまとめです。
セルの表示設定、関数
基本
日付をセルに入力したい場合、m/dあるいはm-dの形式で入力すれば、
自動で入力した年のその日付になります。年号も指定したい場合は、y...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント