請問規則02F - 04F 如果在Data Base 篩選在這個範圍内的相關資料
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
以下方案請試試看
Option Explicit
Sub TEST_2()
Dim Brr, Z, Q, i&, j%, N&, T$ ...
Andy2483 發表於 2025-10-13 13:21 
附圖是執行後的結果,Part List 一頁都是空白,沒有資料出來。
兩個規則 1 & 2 都應該有資料,但是沒有導入Part List |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
範例 生產單單號 裡沒有 WO-J057-021
Andy2483 發表於 2025-10-13 14:33 
因爲Data Base 資料太多,容量超過1MB 無法上傳,所以我刪除了一些Data Base 内容。
不過按照規則,應該是共通的。
我試過其他的生產單號,Part list 都是空白。 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
範例 生產單單號 裡沒有 WO-J057-021
Andy2483 發表於 2025-10-13 14:33  - If Z.Exists("|" & Left(Brr(i, 7), 2)) Or Z(Brr(i, 7)) > 0 Then
複製代碼 我找到問題所在了,這句應該用 "OR "不是用 "AND" , 因爲兩個規則是不能共存的,屬於兩條獨立規則。 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
以下方案是練習以 Data Base.xlsx 利用輔助欄直接篩選的方案,請前輩參考
1.選取 ...
Andy2483 發表於 2025-10-14 13:53 
可否説明一下輔助欄的操作原理和規則 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
WO No表選取 02F-04F後,按鈕執行:
Layout Dwg表會得到符合樓層且符合批次的篩選:
...
Andy2483 發表於 2025-10-15 14:30 
我在 "WO NO", "LAYOUT DWG", FRAME PER DWG" , "PART LIST" �堶悼[入 “WO-NO" 及執行鍵,運作後,出現 Error |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
請加入以下紅字行代碼
If .AutoFilter Is Nothing Then
.[A1].Resize ...
Andy2483 發表於 2025-10-15 15:21 
可以了,感謝前輩指點。 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
請加入以下紅字行代碼
If .AutoFilter Is Nothing Then
.[A1].Resize ...
Andy2483 發表於 2025-10-15 15:21 
前輩可否幫我看看這個。
相關規則在 “講解 Rule”一頁詳細講解。 |
-
-
result.rar
(303.51 KB)
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
前輩可否幫我看看這個。
相關規則在 “講解 Rule”一頁詳細講解。
198188 發表於 2025-10-20 17:47 
用這個模板,Rule 一頁,我將規則按列模式排列,方便程式設計。 |
-
-
result.rar
(301.3 KB)
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
本帖最後由 198188 於 2025-10-22 16:27 編輯
回復 198188
以下方案請試試看
Option Explicit
Sub TEST()
Dim Arr, Brr, Crr(1 To 10000 ...
Andy2483 發表於 2025-10-22 14:19 
因爲程式中有中文,無法運行,我更新了一下規則,規則用列表模式顯示,用 “ Symbol" 來識別 備注符號,用 "Code" 來識別頭兩個字頭。這樣即使將來要增加或減少 符號及編號都不影響程式。
1) 根據Rule的規則, 當 “Part List” 欄G ”備注” 的符號及欄A 的字頭跟 “Rule” 的Symbol 欄 & Code 欄相同,根據 Rule欄A 的Form名稱複雜一個新模板,命名為 欄I的English Product + Symbol 的對應名稱並去除 “-“ 和後面的中文字
舉例
Part List �堶惇O “F0” 字頭 & “Y” 備注, 複製Bom 模板,命名 “Screw-Deliver to Site”
Part List �堶惇O “IG” 字頭 & “-” 備注, 複製Gasket 模板,命名 “Gasket-Deliver to Factory”
Part List �堶惇O “E1” 字頭 & “Y” 備注, 複製DN Material 模板,命名 “Extrusion-Delivery Notes For Material Parts”
2) 根據Rule的規則, 當 “Frame per Dwg” 欄F ”備注” 的符號及欄B的字頭跟 “Rule” 的Symbol 欄 & Code 欄相同,根據 Rule欄A 的Form名稱複雜一個新模板,命名為 欄I的English Product + Symbol 的對應名稱並去除 “-“ 和後面的中文字
舉例
Frame per Dwg �堶惇O “DF” 字頭 & “T” 備注, 複製Finish 模板,命名 “Door Frame- Finish Part Order On-Hold”
Frame per Dwg �堶惇O “WS” 字頭 & “T” 備注, 複製Finish 模板,命名 “Window Sash - Finish Part Order On-Hold”
Frame per Dwg �堶惇O “DF” 字頭 & “W” 備注, 複製Finish 模板,命名 “Door Frame - Finish Part Order”
Bom模板 填寫規則
Range (“A4”) = 欄G 的英文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “ Screw – 螺絲”; 讀取Panel 的資料,備注是 - ,顯示 ”Panel – 鈑金”)
Range (“A5”) = 欄 H 的中文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “Deliver to Site -工地用”; 讀取Panel 的資料,備注是 - ,顯示 ”Deliver to Factory - 廠房用”)
尺寸 = Part List 欄 L 長度 "x" 欄 M 寬度 (舉例 2211.1 x 717.9)
數量 = Part List 欄 C 數量
備註 = Part List 欄 G 備註量
供應商編號 = Material 欄 C 供應商編號
英文描述 = Material 欄 E 英文描述(對客戶)
中文描述 = Material 欄 F 中文描述(對供應商)
材質, 標準及等級 = Material 欄 G 材質
單重 = Material 欄 K 單重
顔色/表面處理 = Material 欄 J 顔色/表面處理
單位 = Material 欄 H 英文單位
Gasket模板 填寫規則
Range (“D6”) = 欄G 的英文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “ Screw – 螺絲”; 讀取Panel 的資料,備注是 - ,顯示 ”Panel – 鈑金”)
Range (“D7”) = 欄 H 的中文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “Deliver to Site -工地用”; 讀取Panel 的資料,備注是 - ,顯示 ”Deliver to Factory - 廠房用”)
序號= 1,2,3順序
編號 = Part List 欄 A 加工件編號
總數量 = Part List 欄 C 數量
寬度 = Part List 欄 E 寬度
高度 = Part List 欄 F 高度
備註 = Part List 欄 G 備註量
供應商編碼 = Material 欄 C 供應商模號
英文描述 = Material 欄 E 英文描述(對客戶)
中文描述 = Material 欄 F 中文描述(對供應商)
單位 = Material 欄 H 英文單位
Structural 模板 填寫規則
Range (“C3”) = 欄G 的英文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “ Screw – 螺絲”; 讀取Panel 的資料,備注是 - ,顯示 ”Panel – 鈑金”)
Range (“C4”) = 欄 H 的中文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “Deliver to Site -工地用”; 讀取Panel 的資料,備注是 - ,顯示 ”Deliver to Factory - 廠房用”)
序號= 1,2,3順序
編號 = Part List 欄 A 加工件編號
材料描述 = Part List 欄 B 描述
總長度 = Part List 欄 C 數量
截面積 = Part List 欄 B 描述的長度相乘 舉例 描述是"19.8mmx8mm DC983 STRUCTURAL SILICONE-BLACK" 截面積計算為 19.8*8=158.4
總容量 = 欄E 總長度 * 欄F 截面積 / 1000 (小數點進1, 舉例 12.1 =13;14.3 = 15; 0.8 = 1)
DN Material 模板 填寫規則
Range (“A3”) = 欄G 的英文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “ Screw – 螺絲”; 讀取Panel 的資料,備注是 - ,顯示 ”Panel – 鈑金”)
Range (“A4”) = 欄 H 的中文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “Deliver to Site -工地用”; 讀取Panel 的資料,備注是 - ,顯示 ”Deliver to Factory - 廠房用”)
序號= 1,2,3順序
編碼 = Part List 欄 A 加工件編號
供應商編號 = Part List 欄 K 供應商編號
寬度 = Part List 欄 E 寬度
總數量 = Part List 欄 C 數量
單重 = 用供應商編號讀取 Material 欄 K 單重
單位 = 用供應商編號讀取 Material 欄 H 英文單位
總重量 = 欄 E 單重 * 欄G 總數量
備註 = Part List 欄 G 備註量
Fabrication Extrusion模板 填寫規則
Range (“A3”) = 欄G 的英文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “ Screw – 螺絲”; 讀取Panel 的資料,備注是 - ,顯示 ”Panel – 鈑金”)
Range (“A4”) = 欄 H 的中文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “Deliver to Site -工地用”; 讀取Panel 的資料,備注是 - ,顯示 ”Deliver to Factory - 廠房用”)
序號= 1,2,3順序
加工件編號 = Part List 欄 A 加工件編號
模號 = Part List 欄 K 供應商編號
成色編號 = Part List 欄 J 成色編號
長度 = Part List 欄 D 長度
總數量 = Part List 欄 C 數量
參考圖號 = Part List 欄 A 加工件編號 去除第二個 “-” 後面的字(如有)
舉例 加工件編號 E1106-600 參考圖號 E1106-600; 加工件編號 E1106-600-01 參考圖號 E1106-600; 加工件編號 E1106-600-11 參考圖號 E1106-600
備註 = Part List 欄 G 備註量
Finish 模板 填寫規則
Range (“A3”) = 欄G 的英文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “ Screw – 螺絲”; 讀取Panel 的資料,備注是 - ,顯示 ”Panel – 鈑金”)
Range (“A4”) = 欄 H 的中文名稱 + 備注相關的B 列名稱 (舉例 讀取Screw 的資料,備注是Y, 顯示 “Deliver to Site -工地用”; 讀取Panel 的資料,備注是 - ,顯示 ”Deliver to Factory - 廠房用”)
序號= 1,2,3順序
單元件編號 = Frame per Dwg 欄 B 組裝圖編號 (相應頭兩個字母)
寬度 = Frame per Dwg 欄 C 組裝圖寬度
高度 = Frame per Dwg 欄 D 組裝圖高度
總數量 = Frame per Dwg 欄 E 組裝圖在分佈圖上的數量
備註 = Frame per Dwg 欄 F 組裝圖的出貨情況 |
-
-
result.rar
(293.53 KB)
-
-
規則.rar
(17.6 KB)
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
因爲程式中有中文,無法運行,我更新了一下規則,規則用列表模式顯示,用 “ Symbol" 來識別 備注 ...
198188 發表於 2025-10-22 16:25 
另外制表完成後,可否將生成的制表,打印 PDF save 在該 Excel 的位置? |
|
|
|
|
|
|
|