エクセル VBA 入門 日付と時間

date関数
日付を取得する
time関数
時間を取得する

サンプル
———————————
Option Explicit
Sub start()

Range(“A1”) = Date
Range(“A2”) = Time

End Sub
———————————

実行結果
2016/4/25(今日の日付)
4:53:51 PM(今日の時間)


その年だけ取得したいとか秒だけ取得したいときは
ふたつ方法がある。

year関数を使う方法とformatで書式をしてする方法がある。

year関数を使う場合は引数がdate型なのでこのようになる。
Range(“A1”) = year(Date)
formatで書式を指定して整える
Range(“A2”) = format(Date,yyyy)
サンプルソース
——————————————–
Option Explicit
Sub start()
Range(“A1”) = year(Date)
Range(“A2”) = Format(Date, “yyyy”)
End Sub
——————————————–
実行結果
1905/7/8
1905/7/8


ええええええええええええええ
バグったら調べてみるとPCの時間になっているとの
情報をゲットなんだそうかそうか。
コントロールパネルの言語と時間の設定を確認した。
ちゃんと設定してました。
あれソースが間違っているかもしれないと思いググる。
メッセージボックスで結果を表示しているサンプル発見した。
実行してみるとちゃんと今日の時間が表示される。
ここで二つの可能性を考えた。

ソースコードが間違っている。
エクセル内部の仕様や設定。

ソースコードは合っているはずとなんとなく思ったのでエクセルだなと思う。

メッセージボックスでちゃんと表示されるということは設定が怪しい。
プログラムはセルに書き込みなのでセルの設定かと思った。

セルの書式設定は日付になっていた。
とりあえず標準に戻したらちゃんと表示された。
めでたしめでたし。

実行結果
2016
2016

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

Translate »