入力として日付を指定した場合、その日が週末かどうかをどのように判断できますか?
引数として日付を取り、日を返すWeekday関数があります(1、2、3など)。
戻り値は次のとおりです。
vbSunday (1)
vbMonday (2)
vbTuesday (3)
vbWednesday (4)
vbThursday (5)
vbFriday (6)
vbSaturday (7)
週末が土曜日と日曜日であるとすると、関数は次のようになります。
Public Function IsWeekend(InputDate As Date) As Boolean
Select Case Weekday(InputDate)
Case vbSaturday, vbSunday
IsWeekend = True
Case Else
IsWeekend = False
End Select
End Function
これは、週末にMyDate
が該当するかどうかを判断する最も直接的な方法です。
MsgBox Weekday(MyDate, vbMonday) > 5
Weekday()関数にはオプションの2番目のパラメーターがあり、週の開始曜日を指定します。 Weekday()関数は、1から7までの整数を返します。
私は月曜日に週を開始するように指示したので、土曜日は6、日曜日は7になります。
または、これを使用できます。
OR(MOD(WEEKDAY(cell), 7)=0, MOD(WEEKDAY(cell), 7)=1)
または
MOD(WEEKDAY(cell), 7) < 2
式として。
1は日曜日、0は土曜日なので
日付を曜日に変換する式
Selection.FormulaR1C1 = "= TEXT(WEEKDAY(R7C" + CStr(i)+ "、1)、" "ddd" ")"
これは帰ります
例:-入力が2013年5月2日の場合、Thu->(木曜日)を返します。ここで、変数iは別の列を表します。