返回列表 上一主題 發帖

請問規則02F - 04F 如果在Data Base 篩選在這個範圍内的相關資料

回復  198188


    請上傳 範例本檔
DATA BAS1 不需要
Andy2483 發表於 2025-10-30 10:09



  附件是運行後的本檔

Result 30-Oct 2025.rar (135.83 KB)

TOP

回復  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 中間都沒有斷行。

TOP

回復  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 修改後

TOP

回復  198188


    請將   [A1].CurrentRegion 這些字置換成 UsedRange  ,共有3處後,再試試看
Andy2483 發表於 2025-10-30 10:35


修改後出現上貼錯誤

TOP

回復  198188


    [A1]. 也要換掉
Andy2483 發表於 2025-10-30 10:40



   
換了,Part List 也顯示Nothing

TOP

本帖最後由 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

TOP

回復  198188


    請將 RunForm Module 裡的 Sub Data()代碼全部刪除,程式名稱與 RunData Module Sub ...
Andy2483 發表於 2025-10-30 11:12


試過,不是這個問題。還是 Part List Nothing

TOP

此範例後學執行沒問題,
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

TOP

本帖最後由 198188 於 2025-10-30 16:10 編輯
回復  198188

1.前輩提供範例檔名是 Data Base1.xlsx,邏輯上應該用該檔案測試
2.程式裡以下這段代碼已 ...
Andy2483 發表於 2025-10-30 15:33



1.  因爲 Data Base �堶悸� Part List 内容太多,導致容量過大,爲了方便上載,所以刪除了大部分的資料,另存 Data Base1, 所以導致有信息錯誤。現在已經糾正了。

2. 是 Data Base 檔 �閈rame per Dwg 沒有那些分佈圖號,所以本檔Frame per Dwg 沒資料出來。

3. 剛剛用 測試 2個 生產單,發現有錯誤, WW300 & PW155 這2個分佈圖,在Frame per Dwg 出現過後,應該不能出現在 Part List ,但是事實出現了。請看圖片

Result 30-Oct 2025.rar (131.39 KB)

TOP

前輩我敘述的規則是:

本檔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合計數量

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題