VBAにて土日祝日をパスというのはどう記載すればいいのでしょうか?
VBAにて土日祝日をパスというのはどう記載すればいいのでしょうか?
Sub 当番表()
Sheets("設定").Select
max_name_y = 5
Do While Sheets("設定").Cells(max_name_y, 4).Value <> ""
max_name_y = max_name_y + 1
Loop
'----- 今月分の当番表を作成 -----
this_year = Range("B5").Value
this_month = Range("C5").Value
start_name_y = 5
Do While Cells(start_name_y, 5).Value = ""
start_name_y = start_name_y + 1
Loop
temp = start_name_y
next_month_start_y = Create_one_month("当番表", CStr(this_year), CStr(this_month), start_name_y)
start_name_y = temp
this_month_last_day = 1
this_month_last_week = 8
Do While Cells(this_month_last_week, 1) <> ""
this_month_last_week = this_month_last_week + 3
Loop
Do While Cells(this_month_last_week - 3, this_month_last_day) <> "" this_month_last_day = this_month_last_day + 1
If this_month_last_day = 8 Then Exit Do
Loop
'----- 先月分の当番表を作成(最下行のみ当番が正しい表) -----
'当番表作成月の開始日のX座標-1を調べる
startDayX = 0
Do While Cells(5, startDayX + 1).Value = ""
startDayX = startDayX + 1
Loop
If startDayX = 0 Then GoTo make_last_month_sheet_end '月曜日から始まっているため先月分の情報を入れる必要が無い場合
'先月分のカレンダー作成(当番は適当)
Sheets("設定").Select
If Range("c5").Value = 1 Then
last_year = Range("B5").Value - 1
last_month = 12
Else
last_year = Range("B5").Value
last_month = Range("c5").Value - 1
End If
Call Create_one_month("先月", CStr(last_year), CStr(last_month), 4)
last_month_last_week = 8
Do While Cells(last_month_last_week, 1) <> ""
last_month_last_week = last_month_last_week + 3
Loop
'先月分のカレンダーの最下段のみ正しい当番に変更
name_y_temp = start_name_y
Do While startDayX > 0
If Cells(last_month_last_week - 2, startDayX).Value <> "" Then '祝日はパス
こんな感じのeditorですが、何処に入れればいいのでしょう?
何度かしましたが、エラーになります。
お礼
なるほど。「じゃあ」と言う感じは すごく分かりやすいです。 ありがとうございました。