請問規則02F - 04F 如果在Data Base 篩選在這個範圍内的相關資料
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
請上傳 範例本檔
DATA BAS1 不需要
Andy2483 發表於 2025-10-30 10:09 
附件是運行後的本檔 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
執行後有資料,如88樓結果
請檢察BATA BASE1檔案 Part List表資料是否有斷行(資料中 ...
Andy2483 發表於 2025-10-30 10:21 
檢查了Data Base 檔案的Part List 表資料,共45135行,Column A, B, C,D, E, G, H 中間都沒有斷行。 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
執行後有資料,如88樓結果
請檢察BATA BASE1檔案 Part List表資料是否有斷行(資料中 ...
Andy2483 發表於 2025-10-30 10:21 
按你指示修改了,執行後出現錯誤。
Brr = xBook.Sheets("Part List").[A1].CurrentRegion 修改前
Brr = xBook.Sheets("Part List").[A1].UsedRange 修改後 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
請將 [A1].CurrentRegion 這些字置換成 UsedRange ,共有3處後,再試試看
Andy2483 發表於 2025-10-30 10:35 
修改後出現上貼錯誤 |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
[A1]. 也要換掉
Andy2483 發表於 2025-10-30 10:40 
換了,Part List 也顯示Nothing |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
本帖最後由 198188 於 2025-10-30 11:21 編輯
回復 198188
會不會是系統語言不同造成的差異,請試試以下 代碼
Sub Data()
Dim Arr, Brr, C ...
Andy2483 發表於 2025-10-30 10:53 
還是一樣,Part List Nothing
我逐步運行,覺得是下面兩句有點問題,不知道我理解是否有誤。
第一 句:如果Part List H 欄 分佈圖編號最後一個字是小寫字母,就去掉小寫字母來尋找 Layout Dwg 吻合的分佈圖號,Else Q = "||" , 這句變成如果沒有小寫字母 Q = || , 那麽 Z(Q) > 0 變成全部不對了。
第二句: 我們規則應該是尋找Layout Dwg 表�� 沒有出現在Frame per Dwg 的分佈圖號。Z 字典�堶惜ㄛO存在Frame per Dwg 沒有的分佈圖號,而且Layout Dwg �堨�部圖號。
If T Like "*[a-z]" Then Q = Left(T, Len(T) - 1) Else Q = "||"
If Z(T) > 0 Or Z(Q) > 0 Then |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 198188
請將 RunForm Module 裡的 Sub Data()代碼全部刪除,程式名稱與 RunData Module Sub ...
Andy2483 發表於 2025-10-30 11:12 
試過,不是這個問題。還是 Part List Nothing |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
此範例後學執行沒問題,
1.請前輩將本檔與DATA BASE檔獨立出來
2.將 RunForm Module刪除再試試看 ...
Andy2483 發表於 2025-10-30 12:53 
已經找到原因,是Data Base workbook 不是 Data Base1 workbook, 剛剛核對後。資料正確。
不過之前說漏了一個 規則,就是樓層方面,
本檔 Layout Dwg 方面的規則有誤:
1. 如果有 “-”,以“-”分離前後兩部分樓層,用數字樓層來辨別 現在是只有這個規則
舉例 03F-07F
03F, 04F, 05F, 06F, 07F
2. 當初有說 "&" ,以“&”,直接用前後英文字母來辨別 (這個最早之前有,這次漏了)
舉例 LMI&SMI
LMI, SMI,
舉例 PMU&SMI&LMI
PMU, SMI, LMI
3. 如果沒有“-” / “&”,則直接以該儲存格的字來分辨樓層 (這個最早之前有,這次漏了)
舉例 PMU
PMU
舉例 05F
05F
樓層
VMU
PMU
LMI&SMI
LMI
05F
03F-41F
03F-07F
02F-08F
09F-12F |
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
|
|
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
前輩我敘述的規則是:
本檔Part List 表資料顯示規則如下:
1.本檔的Layout Dwg表 的A欄 分佈圖號 ...
Andy2483 發表於 2025-10-30 16:13 
color=Blue]前輩不好意思,漏了一個點
本檔Part List 表資料顯示規則如下:
1. 本檔Layout Dwg 表 的A欄 分佈圖號 要沒有在本檔Frame per Dwg 出現過的 分佈圖號
如果本檔Frame per Dwg 已經存在的分佈圖號,不出現
1.1 本檔的Layout Dwg表 的A欄 分佈圖號(其C欄數量要加總,以下稱:LD合計數量) 要比對 Data Base 裡Part List表的H欄 對應組裝號/加工件號
1.2.若吻合時整列帶出來到本檔的Part List,其中C欄的數量要*LD合計數量
1.3.若Data Base 裡Part List表H欄字串尾部多了個小寫英文字母去除後也吻合 本檔的Layout Dwg表 的A欄 分佈圖號 時,也整列帶出來到本檔的Part List,其中C欄的數量要*LD合計數量 |
|
|
|
|
|
|
|