| 指定した年月の何週目の何曜日がいつかを得る | 
	 | 
  
対象バージョン : 97, 2000, 2002, 2003, 2007
   
最終更新日 : 2007/02/12
 (オリジナル作成日 : 1998/04/18)
概 要
指定した年月の何週目の何曜日がいつかを得るユーザー定義関数です。
構 文
GetDate(Year , Month, DayOfWeek, Number)
解 説
GetDate 関数の戻り値は日付型 (Date)です。
GetDate 関数では次の引数を使用します。
| 引 数 | 内 容 | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Year | 調べる年を数字式で指定します。 | ||||||||||||||||||||||||
| Month | 調べる月を数字式で指定します。 | ||||||||||||||||||||||||
| DayOfWeek | 調べる曜日を数字式で指定します。
  |     
  ||||||||||||||||||||||||
| Number | 調べる週を数字式で指定します。 | 
ユーザー定義関数
Public Function GetDate(argYear As Integer, argMonth As Integer, _
    argWeekDay As Integer, argNumber As Integer) As Date
Dim dteBaseDay As Date
Dim intWeekDay As Integer
dteBaseDay = DateValue(argYear & "/" & argMonth & "/01")
intWeekDay = argWeekDay - WeekDay(dteBaseDay)
If intWeekDay < 0 Then
    dteBaseDay = dteBaseDay + 7 + intWeekDay
Else
    dteBaseDay = dteBaseDay + intWeekDay
End If
GetDate = dteBaseDay + 7 * (argNumber - 1)
End Function
   
   
使用例
Dim 第三月曜日 As Date
     
第三月曜日 = GetDate(98, 4, vbMonday, 3)
     
MsgBox 第三月曜日
98/4/20 が表示されます。