請問規則02F - 04F 如果在Data Base 篩選在這個範圍内的相關資料
- 帖子
- 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
|
102#
發表於 2025-10-30 11:18
| 只看該作者
回復 198188
請將 RunForm Module 裡的 Sub Data()代碼全部刪除,程式名稱與 RunData Module Sub ...
Andy2483 發表於 2025-10-30 11:12 
試過,不是這個問題。還是 Part List Nothing |
|
|
|
|
|
|
|
- 帖子
- 1567
- 主題
- 40
- 精華
- 0
- 積分
- 1591
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2026-2-2
|
103#
發表於 2025-10-30 12:29
| 只看該作者
本帖最後由 Andy2483 於 2025-10-30 12:31 編輯
回復 101# 198188
For i = UBound(Brr) To 2 Step -1
T = Brr(i, 8)
If T Like "*[a-z]" Then
'↑1.若T變數尾部是英文小寫
Q = Left(T, Len(T) - 1)
'↑就令Q變數是 T變數去掉尾部小寫英文後的字串
Else
'Q = "||"
'↑否則就令Q變數是 "||",
'如果沒有這行 Q = "||" !!,下一筆會殘留 尾部是英文小寫的數量
End If
If Z(T) > 0 Or Z(Q) > 0 Then
If Z(T) <> 0 And Z(Q) > 0 Then
MsgBox "Z(Q)有殘留!"
End If
N = N + 1
For j = 1 To 13: Arr(N, j) = Brr(i, j): Next
Arr(N, 14) = Arr(N, 3) & " x " & (Z(T) + Z(Q))
Arr(N, 3) = Arr(N, 3) * (Z(T) + Z(Q))
End If |
|
|
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流
|
|
|
|
|
- 帖子
- 1567
- 主題
- 40
- 精華
- 0
- 積分
- 1591
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2026-2-2
|
104#
發表於 2025-10-30 12:53
| 只看該作者
|
|
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
105#
發表於 2025-10-30 14:37
| 只看該作者
此範例後學執行沒問題,
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 |
|
|
|
|
|
|
|
- 帖子
- 1567
- 主題
- 40
- 精華
- 0
- 積分
- 1591
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2026-2-2
|
106#
發表於 2025-10-30 15:33
| 只看該作者
回復 105# 198188
1.前輩提供範例檔名是 Data Base1.xlsx,邏輯上應該用該檔案測試
2.程式裡以下這段代碼已經包含各種樓層代號:
請再詳細測試看看
If T1 Like "##F-*##F" Then
For i = Val(T1) To Val(StrReverse(Mid(StrReverse(T1), 2, 2)))
Z(Format(i, "00F")) = ""
Next
Else
Q = Split(T1 & "&" & T1, "&")
For i = 0 To UBound(Q)
Z(Q(i)) = 0
Next
End If |
|
|
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
107#
發表於 2025-10-30 15:51
| 只看該作者
|
|
|
|
|
|
|
- 帖子
- 1567
- 主題
- 40
- 精華
- 0
- 積分
- 1591
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2026-2-2
|
108#
發表於 2025-10-30 16:13
| 只看該作者
本檔 WO No 表資料顯示規則如下:與之前不變
1. 根據本檔 Read 表 A – C 欄資料 (批次次序, 樓層, 生 ...
198188 發表於 2025-10-28 18:01 
前輩我敘述的規則是:
本檔Part List 表資料顯示規則如下:
1.本檔的Layout Dwg表 的A欄 分佈圖號(其C欄數量要加總,以下稱:LD合計數量) 要比對 Data Base 裡Part List表的H欄 對應組裝號/加工件號
1.1.若吻合時整列帶出來到本檔的Part List,其中C欄的數量要*LD合計數量
1.1.若Data Base 裡Part List表H欄字串尾部多了個小寫英文字母去除後也吻合 本檔的Layout Dwg表 的A欄 分佈圖號 時,也整列帶出來到本檔的Part List,其中C欄的數量要*LD合計數量
以上正確 |
|
|
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流
|
|
|
|
|
- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
109#
發表於 2025-10-30 16:33
| 只看該作者
前輩我敘述的規則是:
本檔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合計數量 |
|
|
|
|
|
|
|
- 帖子
- 1567
- 主題
- 40
- 精華
- 0
- 積分
- 1591
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2026-2-2
|
110#
發表於 2025-10-30 16:36
| 只看該作者
回復 107# 198188
Frame per Dwg 的分佈圖號 是 Layout Dwg 的分佈圖號帶出來的,怎麼可能後者出現,前者不能出現? |
|
|
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流
|
|
|
|
|