dポイントプレゼントキャンペーン実施中!

excel マクロで 今日の日付を判定したい。
2022/1/1 を IF で年を関係なしに1月1日であるかどうか判定したい。

 その年の最初の日の判定でも良い。

 IF a= 1月1日 どのような式にしたら良いかわかりません。

A 回答 (7件)

No.5です。



a が日付型変数なら

Sub try()
Dim a As Date

a = #1/1/2025# '仮の日付を代入

If Format(a, "m月d日") = "1月1日" Then
MsgBox ("元日")
Else
MsgBox ("その他の日")
End If

End Sub
    • good
    • 0

No.6です。



あ、今日でしたね。

Sub try()

If Format(Date, "m月d日") = "1月1日" Then
MsgBox ("元日")
Else
MsgBox ("その他の日")
End If

End Sub
    • good
    • 0

a が文字列型変数なら



Sub try()
Dim a As String

a = "1月1日"

If a = Format(DateSerial(Year(Date), 1, 1), "m月d日") Then
MsgBox ("元日")
Else
MsgBox ("その他の日")
End If

End Sub
    • good
    • 0

本日の日付はDateステートメントで取得できます。


その日付の月を取得するのはMonth関数です。
その日付の日を取得するのはday関数です。
以下のマクロを1月1日に実行すると、年を関係なしに
メッセージボックスに「1月1日です」が表示されます。
1月1日でない場合は、表示されません。

Dim dt As Date
dt = Date '本日の日付取得
If Month(dt) = 1 And day(dt) = 1 Then
MsgBox ("1月1日です")
End If
    • good
    • 0

式だと



=TEXT(TODAY(),"mmdd")="0101"

みたいな感じですかね。
    • good
    • 1

下記のURLの記事を御覧下さい。

エクセルの関数・DAY(日付)を使います。DAY(日付)を使った結果が1であれば、年や月に無関係にその日が1日である事が判ります。
https://www.tipsfound.com/excel/04yearmonthday
    • good
    • 0

<判定>の意味がわかりませんが



普通に表示形式で表せるのでは。

マクロでというのもわかりませんが
TODAY でいいのでは。
内部時計が正確ならば間違いありません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!