今日は、この週末に実施した「エクセルマクロ初中級速習コース」で出てきた話題から。
「日付型の変数は、宣言直後には、#1899/12/30# という値が入っている」というテキストでの記述を見た受講生から、「#1899/12/31#」ではないのか?という質問を受けた。
(ちなみに、その方の前職は、「パソコンインストラクター」)
で、そのとき、「実際にマクロを書いて、動作確認してみましょう!」と言って小川が即興で書いたのが、以下のマクロ。
Sub date_default_test()
Dim dt As Date
Range(“F13”).Value = dt ‘宣言した直後の状態なので、既定値の#1899/12/30#が入っているはず
If dt = #1899/12/31# Then ‘※貼り付けた瞬間、「#12/31/1899#」という表記になります。
Range(“B13”).Value = “はい”
Else
Range(“B13”).Value = “いいえ”
End If
If dt = #1899/12/30# Then ‘※貼り付けた瞬間、「#12:00:00 AM#」という表記になります。
Range(“B14”).Value = “はい”
Else
Range(“B14”).Value = “いいえ”
End If
End Sub
これを実行すると、セル「B13」に「いいえ」、セル「B14」に「はい」と記述される。
何でも、確かめてみるのがいちばんだ。
試みる人は、糧を得る人である。 – 小川慶一