標題:
計算生產過程中的假日
[打印本頁]
作者:
hugh0620
時間:
2011-1-5 17:51
標題:
計算生產過程中的假日
本帖最後由 hugh0620 於 2011-1-5 17:53 編輯
Dear 大大
小弟又遇到自己無法克服的問題,主要的問題是我不會寫如何重覆運算到正確的結果
說明:
1.資料會有行事曆[日期,放假天數],生產資訊[預計上線日.生產天數(訂單量/產能),預計下線日]
2.預計下線日=(預計上線日+生產天數)-1+放假日(生產過程中遇到假日的天數,需要排除,因此要加上放假日)
* -1為預計上線日那天也算是一個生產天數所以要從預計上線日算起,因此需要-1
問題:
1.在附件中我是使用SUMIF來計算放假日,但是在SUMIF的條件無法使用儲存格當條件,所以我就將日期換算成值,
用KEY IN的方式,但我需要處理的資料並不是只有一筆,請教大大該用何種方式處理較好
2.若僅計算一次 {預計下線日(A)=(預計上線日+生產天數)-1+放假日(B)} 會產生預計下線日若加完放假日後,又遇到假日時,則該資料是不正確的
我有想過計算完第一次預計下線日後,再重覆運算一次看放假天數(C)是否一致,若一致的話這跳出程式,表示該預計下線日是正確的
若不一致的話,其計算方式為 正確的預計下線日=第一次預計下線日(A)+(第一次下線日的放假日(C)-放假日(B))
請大大們指教一下
問題如附件 [attach]4321[/attach]
作者:
Hsieh
時間:
2011-1-5 23:02
回復
1#
hugh0620
增加假日表輔助欄
然後先算出下線日
再反推假日數
如附件[attach]4326[/attach]
作者:
hugh0620
時間:
2011-1-6 10:12
回復
2#
Hsieh
Dear 大大
很謝謝您的回覆,但是不是我的需求,乾脆我把事情簡化好了
我想要撈
行事曆中區間的的放假天數
,我先克服這個問題後,
看寫到哪個地方又卡住,再請大大幫忙解決
也可以讓我有練習的機會
問題如附件範本 [attach]4329[/attach]
可否用程式碼的方式撰寫,因為後續我會將其計算的方式寫在程式碼中,直接在SHEET中有改變時就自行運算
若是寫函數就需要去設定保護
作者:
Hsieh
時間:
2011-1-6 13:54
本帖最後由 Hsieh 於 2011-1-6 14:11 編輯
回復
3#
hugh0620
Private Sub CommandButton1_Click()
Dim st As Date, ed As Date
st = InputBox("請輸入起始日期", , Date)
ed = InputBox("請輸入結束日期", , Date + 30)
Set a = Columns("A").Find(st, LookIn:=xlValues)
Set b = Columns("A").Find(ed, LookIn:=xlValues)
If a Is Nothing Or b Is Nothing Then MsgBox "The day is not found": Exit Sub
[E2] = Application.Sum(Range(a.Offset(, 4), b.Offset(, 4)))
MsgBox Application.Sum(Range(a.Offset(, 4), b.Offset(, 4)))
End Sub
複製代碼
作者:
hugh0620
時間:
2011-1-6 15:09
回復
4#
Hsieh
Dear 大大
實在非常感謝你~ 幫我克服了卡很久的問題~ 我也終於把它修改成我所需要的工具~ 也讓我多學習到VBA撰寫的方法
也請大大指教看還有沒有其他需要修改的地方
也順便提供我完成的檔案給其他有需要這方面幫助的人
請查閱附件[attach]4331[/attach]
作者:
GBKEE
時間:
2011-1-6 15:34
回復
5#
hugh0620
不必再寫一次程式碼
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1_Click
End Sub
作者:
hugh0620
時間:
2011-1-6 18:18
回復
6#
GBKEE
Dear 大大
謝謝提醒 只是忘記把按鈕中的程式碼拿掉 因為已經有寫在當SHEET有改變時就會跟著變動:loveliness:
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)