#049 | 今日が今月の第何曜日かを知るには? | VBA | |||||||||||||||
今日が今月の第何曜日かを知るには、Day関数 や DatePart関数 を組み合わせて使用します。 Msgbox "今日は第" & (Day(Date) + 6) \ 7 & _
Choose(DatePart("w", Date), _ "日", "月", "火", "水", "木", "金", "土") & "曜日です。" ここでは、今日が今月の何週目かを求める部分と、何曜日かを求める部分とを別々に考えます。 まず、(Day(Date) + 6) \ 7 が今日が今月の何週目かを求める部分です。Day(Date) は今日の日付の"日"の部分だけを返します。例えば、今日が4月15日とすれば、Day(Date) = 15 となります。1週間は7日ですので、それを7で割ることによって今日が何週目かを知ることができます。ただし、単純に7で割ると1日などはゼロになってしまいますので、まず+6してから割るようにします。 続いて、DatePart("w", Date) の部分が今日の曜日を求める部分です。DatePart関数では、一番目の引数に "w" を指定することによって曜日を求めることができます。"ww" とすると「年間を通して第何週目か」になってしまうので注意して下さい。この関数ではこれ以外にも次のような日付/時刻の部分を取得することができます。
この DatePart("w", Date) では、日曜日が1、 月曜日が2、・・・・・・ 土曜日が7 といった数値を返します。ここではそれを「何曜日」という表現で出力するようにChoose関数を使っています。 ※この方法は、クエリー式や、フォーム/レポートのテキストボックスなどのコントロールソースとしても使うことができます。その場合には式の前に "=" を付け、さらに Date() のように後ろにカッコを付ける必要があります。 |
|||||||||||||||||
|
Copyright © T'sWare All rights reserved |