![見出し画像](https://assets.st-note.com/production/uploads/images/141600294/rectangle_large_type_2_c7f730f1d49911e941e027ee6f78a0eb.png?width=800)
【Day38】文系オタクのエンジニア道~関数①日付・時刻~
こんにちは
安田です
なんとか3日連続で書き上げたりしてます
ただ、インプット量が乏しいので
ちゃんと演習をするようにします!
関数の定義
VBAの関数は計算や処理の元になるデータを受け取り
いつも決まった計算や処理を行う。
仕組みは、普段エクセルで使う関数と同じです。
計算や処理の元になるデータを
引数(ひきすう)と呼ぶ
日付や時刻を操作する関数
Now関数
現在の日時を返します
Now関数は引数がないので
()カッコを省略して書くことができます
Sub time()
Range("A1").Value = Now
End Sub
![](https://assets.st-note.com/img/1716465991792-HBFPUZ3Y3G.png)
Year関数、Month関数、Day関数
Year関数→引数に指定した日付の年を表します
4桁の西暦年を返します
Month関数→引数に指定した日付の月を表します
Day関数→引数に指定した日付の日を表します
数値が1桁のとき「5」といった数値を返す
Sub test()
Range("B1").Value = Year(Range("A1").Value)
Range("C1").Value = Month(Range("A1").Value)
Range("D1").Value = Day(Range("A1").Value)
End Sub
![](https://assets.st-note.com/img/1716466466307-HAzfBFR1t7.png)
Hour関数、Minute関数、Second関数
Hour関数→引数に指定した時刻の時を表します
Minute関数→引数に指定した時刻の分を表します
Second関数→引数に指定した時刻の秒を表します
Sub test1()
Range("B2").Value = Hour(Now)
Range("C2").Value = Minute(Now)
Range("D2").Value = Second(Now)
End Sub
![](https://assets.st-note.com/img/1716466773740-4PRH6WgLHn.png)
DateSerial関数
年月日を表す3つの数値から
日付データ(シリアル値)を返します
いわゆる日付を「作る」関数です
Sub test2()
MsgBox DateSerial(Range("B1"), Range("C1"), Range("D1"))
End Sub
![](https://assets.st-note.com/img/1716467083441-bWmrT8XZWY.png?width=800)
まとめ
今回は時間や日付を表す関数を学習しました
実際にエクセルで使っている関数ばかりで
入りやすかったです
次回は文字列を表す関数を学習していきます
「VBAマスターに俺はなる」
最後まで読んでいただき
ありがとうございます
安田
マガジンにまとめてありますので
よかったらそちらも御覧ください
この記事が気に入ったらサポートをしてみませんか?