Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2306 / 13646 ツリー ←次へ | 前へ→

【68821】日付計算処理について Runa 11/4/20(水) 17:24 質問[未読]
【68823】Re:日付計算処理について SK63 11/4/20(水) 19:52 発言[未読]
【68825】Re:日付計算処理について SK63 11/4/20(水) 21:47 発言[未読]

【68821】日付計算処理について
質問  Runa  - 11/4/20(水) 17:24 -

引用なし
パスワード
   よろしくお願いします。

現在、スケジュール管理の為にExcelを使用しています。
・工数を入力
・作業開始日を入力
・作業終了予定日が表示される
・但し、土日祝は換算しない
(工数が3日で、作業開始日が金曜なら、
 翌週火曜日の日付が作業終了予定日に表示されるようにしたい)

上記のようなスクリプトを組む場合、どのようなソースになるでしょうか?

WORKDAY、NETWORKDAYという関数の存在は発見したのですが、
何れも日付から日数を出すものでした。

キーワードとなる関数だけでも構いませんのでご教授をお願い致します。

【68823】Re:日付計算処理について
発言  SK63  - 11/4/20(水) 19:52 -

引用なし
パスワード
   ▼Runa さん:
>よろしくお願いします。
>
>現在、スケジュール管理の為にExcelを使用しています。
>・工数を入力
>・作業開始日を入力
>・作業終了予定日が表示される
>・但し、土日祝は換算しない
>(工数が3日で、作業開始日が金曜なら、
> 翌週火曜日の日付が作業終了予定日に表示されるようにしたい)
>
Sub test()

Dim SD As Integer, i As Integer
Dim pDay As Integer, intDay As Integer
Dim dayTmp As Date

SD = InputBox("工数")
dayTmp = InputBox("作業開始日")

 For i = 1 To SD
   intDay = Weekday(dayTmp, vbSunday) ' 曜日コード
  If ((intDay = 1) Or (intDay = 7)) Then
    pDay = pDay + 1
  End If
   dayTmp = dayTmp + 1
 Next i

Range("A1") = dayTmp + pDay’結果です

End Sub

【68825】Re:日付計算処理について
発言  SK63  - 11/4/20(水) 21:47 -

引用なし
パスワード
   ▼SK63 さん:
修正です(開始日を含む場合はSD-1)ですね)
>▼Runa さん:
>>よろしくお願いします。
>>
>>現在、スケジュール管理の為にExcelを使用しています。
>>・工数を入力
>>・作業開始日を入力
>>・作業終了予定日が表示される
>>・但し、土日祝は換算しない
>>(工数が3日で、作業開始日が金曜なら、
>> 翌週火曜日の日付が作業終了予定日に表示されるようにしたい)
>
Sub test()

Dim SD As Integer, i As Integer
Dim pDay As Integer, intDay As Integer
Dim dayTmp As Date

SD = InputBox("工数")
dayTmp = InputBox("作業開始日")

 For i = 1 To SD
   intDay = Weekday(dayTmp, vbSunday) ' 曜日コード
   Debug.Print (dayTmp & " " & intDay)
  If ((intDay = 1) Or (intDay = 7)) Then
    pDay = pDay + 1
  End If
   dayTmp = dayTmp + 1
 Next i

Range("A1") = dayTmp + pDay - 1 '修正  結果です

End Sub

2306 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free