依訂單資料轉換成六週排程表,敬請各位大大賜教!!!
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
|
感謝Hsieh 版主,小弟將代碼複製要執行時,又在"n = .Cells(1, .Columns.Count).End(xlToLeft).Column - 1”此列跑出"執行階段錯誤 '424': 此處需要物件"的警告視窗,是除了複製外還有需要再做什麼的設定嗎??? |
|
|
|
|
|
|
|
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
12#
發表於 2012-5-2 17:26
| 只看該作者
|
Hsieh 版主因小弟實際排程有時會有跨月的問題,例:需求日5/20,交期回覆到6/10,但按目前巨集執行發現僅比對"日"而已,如按以上日期,其交期對應的會秀到5/10,此是否可再修正??? |
|
|
|
|
|
|
|
- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
13#
發表於 2012-5-2 18:33
| 只看該作者
回復 12# p6703 - Sub Ex()
- Dim A As Range, x%, y%
- Set d = CreateObject("Scripting.Dictionary")
- With Sheets("Sheet2")
- s = Application.Min(.Rows(1))
- With Sheets("Sheet1")
- n = Application.Max(.Columns("E:F")) - s + 4
- For Each A In .Range(.[A2], .[A2].End(xlDown))
- ReDim ar(0 To 1, 0 To n)
- m = A & "," & A.Offset(, 1) & "," & A.Offset(, 2)
- If IsEmpty(d(m)) Then
- GoTo 10
- Else
- For i = 0 To 1
- For j = 0 To n
- ar(i, j) = d(m)(i, j)
- Next
- Next
- End If
- 10
- x = A.Offset(, 4) - s + 4 '需求日
- y = A.Offset(, 5) - s + 4 '交期
- For i = 0 To 2
- ar(0, i) = A.Offset(, i)
- Next
- ar(0, 3) = "需求日"
- ar(1, 3) = "交期"
- ar(0, x) = ar(0, x) + A.Offset(, 3) '需求
- ar(1, y) = A.Offset(, 3)
- d(m) = ar
- Erase ar
- Next
- End With
- r = 2
- For Each ky In d.keys
- .Cells(r, 1).Resize(2, n + 1) = d(ky)
- r = r + 2
- Next
- End With
- End Sub
複製代碼 |
|
|
學海無涯_不恥下問
|
|
|
|
|
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
14#
發表於 2012-5-2 22:22
| 只看該作者
先感謝Hsieh版主了,明日再測試看看,但上一個問題仍想請問,就是如單複製代碼,因何執行巨集會跑出錯誤呢...
Hsieh版主的巨集,大大降低工作量,真的太感謝你了 |
|
|
|
|
|
|
|
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
16#
發表於 2012-5-3 08:43
| 只看該作者
感謝Hsieh兄的回覆,小弟按最新程式碼執行後,卻跑出"執行階段錯誤'9',陣列索引超出範圍",並停在ar(0, x) = ar(0, x) + A.Offset(, 3)此程式碼,因我現執行的筆數有快200筆,是有設限筆數嗎???
還有原提供報表中僅有"訂單","料號","項次"三資料,但如果要再增加幾筆資料,原程式碼是否即需再修改??? |
|
|
|
|
|
|
|
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
18#
發表於 2012-5-3 19:14
| 只看該作者
的確有如Hsieh版主所說的狀況,但即使我將日期最小值已更新至5/1起,但執行時仍發生錯誤,附上檔案,煩請Hsieh版主解惑,謝謝!!!
Book1.rar (15.27 KB)
|
|
|
|
|
|
|
|
- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
19#
發表於 2012-5-3 19:32
| 只看該作者
回復 18# p6703 - Sub Ex()
- Dim A As Range, x#, y#
- Set d = CreateObject("Scripting.Dictionary")
- With Sheets("Sheet2")
- s = Application.Min(.Rows(1))
- With Sheets("Sheet1")
- n = Application.Max(.Columns("E:F")) - s + 4
- For Each A In .Range(.[A2], .[A2].End(xlDown))
- ReDim ar(0 To 1, 0 To n)
- m = A & "," & A.Offset(, 1) & "," & A.Offset(, 2)
- If IsEmpty(d(m)) Then
- GoTo 10
- Else
- For i = 0 To 1
- For j = 0 To n
- ar(i, j) = d(m)(i, j)
- Next
- Next
- End If
- 10
- x = A.Offset(, 4) - s + 4 '需求日
- y = A.Offset(, 5) - s + 4 '交期
- For i = 0 To 2
- ar(0, i) = A.Offset(, i)
- Next
- ar(0, 3) = "需求日"
- ar(1, 3) = "交期"
- If x > 0 Then ar(0, x) = ar(0, x) + A.Offset(, 3) '需求避免Sheet1內需求日無日期
- If y > 0 Then ar(1, y) = A.Offset(, 3) '交期避免Sheet1內交期無日期
- d(m) = ar
- Erase ar
- Next
- End With
- r = 2
- For Each ky In d.keys
- .Cells(r, 1).Resize(2, n + 1) = d(ky)
- r = r + 2
- Next
- End With
- End Sub
複製代碼 |
|
|
學海無涯_不恥下問
|
|
|
|
|
- 帖子
- 134
- 主題
- 27
- 精華
- 0
- 積分
- 168
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- EXCEL 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2010-10-6
- 最後登錄
- 2018-5-13

|
20#
發表於 2012-5-3 21:38
| 只看該作者
真是太感謝Hsieh版主,解決了小弟的大問題,執行已可自動套出
如果小弟想再加入多一些的資料(例原只有訂單,料號,項次,想再增加客戶,規格...)==>已更新附件中,請問如何修改???
小弟有自己測試修改,但功力實在不足,改後還是無法套出正確資料,故煩請Hsieh版主幫忙
Book2.rar (16.01 KB)
|
|
|
|
|
|
|
|