F025 加算する週の数値を設定して週初を計算する関数

2019-05-20
EXCEL自作関数

 加算する週の数値を設定して週初を計算する関数、週初は月曜日になります。
VBEの標準モジュールに下のコードを登録して「Excelマクロ有効フォーム」で保存してください。
関数の登録方法は⇒♯000 ユーザー定義関数を登録する方法

登録されたら、シート上からユーザー関数「WeekStart」が使用できます。
使い方は 
ワークシート上で = WeekStart (日付,[加算する週の数値])の関数として使用できます。
【例】
 WeekStart(#2019/5/7#) → #2019/05/06#
 WeekStart(#2019/5/7#,1) → #2019/05/13#

Function WeekStart(GDate As String, Optional N As Long) As Variant
’ 週初を計算する関数、加算する週の数値を設定可能
’ 週初は月曜日になります。
’ WeekStart(日付,[加算週])
’ 例1 WeekStart(#2019/5/7#) → #2019/05/06#
’ 例2 WeekStart(#2019/5/7#,1) → #2019/05/13#
Dim WD As Long
Dim WP As Long
On Error GoTo EXITFEnd
WP = 7 * N

If IsDate(GDate) = True Then
 WD = Weekday(GDate)
 If WD = 1 Then
  WD = 8
 End If
 WeekStart = DateAdd(“d”, (-5- WD + WP), GDate)
Else
 WeekStart = GDate
End If

Exit Function
EXITFEnd:
End Function

ここで紹介したコード使用による損害に対しては一切責任は負えません。