VBATips

日付データを年/月/日に分割して変数に入れておく【パーツ化】【ExcelVBA】

Dateで取得した年月日をそれぞれ別で変数に持たせたい

マクロ開発案件で年月日をそれぞれ分けて変数で持ちたい場合があります。
都度Year関数/Month関数/Day関数で分岐しても良いのですが、数が多いとコード入力、レビューも大変です。

Dateで取得した年月日を分割する

ただ単にPublic変数に保持しておくだけです。手間を減らすためのコードです。

Option Explicit

Public YYYY As String, MM As String, DD As String, HH As String, MN As String
’■
Public Function call_YYYYMMDDHHMNCreate(sDate As String) As Boolean
    call_YYYYMMDDHHMNCreate = False
        
    If sDate = "" Then Exit Function
    If IsDate(sDate) = False Then Exit Function
    
    YYYY = Year(sDate)
    MM = Month(sDate)
    DD = Day(sDate)
    HH = Hour(sDate)
    MN = Minute(sDate)
    
    call_YYYYMMDDHHMNCreate = True

End Function

実際の使い方

Public Sub sample()
    Call call_YYYYMMDDHHMNCreate(Now()) '2025/01/19 12:03:36→HH MMもデータが入る
    Call call_YYYYMMDDHHMNCreate(Date)  '2025/01/19         →HH MMは0となる
End Sub

 

注意点

  • 特にありません。

関連記事

コメント

タイトルとURLをコピーしました