3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

VBA Tips – 日付型の変数を宣言したときに変数に入る「初期値」

2010年5月31日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

今日は、この週末に実施した「エクセルマクロ初中級速習コース」で出てきた話題から。

「日付型の変数は、宣言直後には、#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」に「はい」と記述される。

何でも、確かめてみるのがいちばんだ。

試みる人は、糧を得る人である。 – 小川慶一

キーワード

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド