- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 116
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-5-13
               
|
5#
發表於 2011-4-27 20:05
| 只看該作者
本帖最後由 Hsieh 於 2011-4-27 20:09 編輯
回復 4# ikosnahc
這問題如果是2010版就可輕易解決
不過你是2002版本沒有WORKDAY.INTL函數
寫個自定義函數來解決
MyWorkday.rar (10.22 KB)
- Function MyWorkday(star_day, days, weekend, Optional holiday As Range)
- '參數說明
- 'star_day=開始日期
- 'days工作天數
- 'weekend',,周末有幾天如周休一日就用1,周休二日就用2
- 'holiday假日(儲存格範圍)
- Application.Volatile
- Set d = CreateObject("Scripting.Dictionary")
- If Not IsEmpty(holiday) Then
- For Each a In holiday
- d(a.Value) = d.Count
- Next
- End If
- p = Sgn(days)
- Do Until s = days
- MyWorkday = star_day + i
- If Weekday(MyWorkday, 2) <= 7 - weekend Then
- n = d.exists(MyWorkday)
- If d.exists(MyWorkday) = False Then s = s + 1 * p
- End If
- i = i + 1 * p
- Loop
- End Function
複製代碼 |
|