返回列表 上一主題 發帖

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

回復  198188


    BOM類 查Part List表 供應商編號 大部分都是 - ,所以都不必再查下去,所以沒有中文/ ...
Andy2483 發表於 2025-11-18 16:44
  1. Sub Bom()
  2. If Brr(i, 1) = Brr(i - 1, 1) Then A(R, 10) = A(R, 10) + Brr(i, 3): A(R, 14) = A(R, 10): Exit Sub
  3. R = R + 1: A(R, 1) = R: A(R, 2) = Brr(i, 1): A(R, 3) = Brr(i, 12)
  4. If A(R, [color=Red]2[/color]) <> "" And Z.Exists(A(R, [color=Red]2[/color]) & "/m") Then
  5.    For j = 0 To 5: A(R, Array(4, 5, 6, 8, 9, 11)(j)) = Mrr(Z(A(R, [color=Red]2[/color]) & "/m"), Array(5, 6, 7, 11, 10, 8)(j)): Next
  6. End If
  7. A(R, 7) = Brr(i, 4) & " x " & Brr(i, 5)
  8. A(R, 10) = Brr(i, 3)
  9. A(R, 14) = Brr(i, 3)
  10. A(R, 18) = Brr(i, 7)
  11. End Sub

  12. Sub Gasket()
  13. Dim T3$
  14. If Brr(i, 1) = Brr(i - 1, 1) Then A(R, 9) = A(R, 9) + Brr(i, 3):   Exit Sub
  15. R = R + 1: A(R, 1) = R
  16. For j = 0 To 5: A(R, Array(2, 9, 6, 7, 11, 3)(j)) = Brr(i, Array(1, 3, 5, 6, 7, 12)(j)): Next
  17. If A(R, [color=Red]2[/color]) <> "" And Z.Exists(A(R, [color=Red]2[/color]) & "/m") Then
  18.    For j = 0 To 2: A(R, Array(4, 5, 8)(j)) = Mrr(Z(A(R, [color=Red]2[/color]) & "/m"), Array(5, 6, 8)(j)): Next
  19. End If
複製代碼
前輩, 我把 A(R,3) 改成 A(R,2) 之後,BOM & Gasket 都可以導出 Material 的資料。 但是唯獨 HW--這個表不行,附上範例。

Result 11 Nov 2025.rar (210.31 KB)

material.rar (381.04 KB)

TOP

回復  198188


    PDF檔產出方案如下:

Option Explicit
Sub Print_PDF()
Dim T$, NewMyPath, Pj ...
Andy2483 發表於 2025-11-5 14:01



   

前輩,測試 Print PDF 後,發現是建立在兩個“資料夾”�堙A如上圖。能不能只建立一個“資料夾”?

TOP

回復  198188


    比對後沒有錯誤
全部 中文/英文描述空格,其加工件編號所對應的 供應商編號都是空格 ...
Andy2483 發表於 2025-11-19 08:29


前輩,發現是Data Base 檔 Material 表 C 欄 供應商編號 和 Part List 表  L 欄 供應商編號 兩者不一致,所以導致無法導出資料,  最後沿用 A(R,3),現在全部都可以導出。

不過如果 A(R,3) 改成 A(R,2) , HW 的 BOM 還是導不出資料

TOP

修改方案如下:
Form修改方案 補充在 200樓

Option Explicit
Sub Print_PDF()
Dim T$, NewMyPath, ...
Andy2483 發表於 2025-11-19 09:49





運行後,出現這個問題。
我已經刪除了之前的PDF檔案 連資料夾。

TOP

本帖最後由 198188 於 2025-11-19 10:45 編輯
回復  198188


    可能是 WO No表[E2]是簡體字造成亂碼
Andy2483 發表於 2025-11-19 10:30



前輩,不是亂碼的問題,用之前的誠實是沒有問題的。
另外我把下面這句修改了4,沒有中文字,也是一樣出錯。
Pj = ['WO No'!A2].Resize(, 4): Pj = Replace(Join(Application.Transpose(Application.Transpose(Pj)), "_"), "/", "_")

TOP

NewMyPath = ThisWorkbook.Path & "\" & Pj & "\"
MkDir NewMyPath
For i = Worksheets.Count To 1 ...
Andy2483 發表於 2025-11-19 11:30


可以了,感謝前輩指點。

TOP

NewMyPath = ThisWorkbook.Path & "\" & Pj & "\"
MkDir NewMyPath
For i = Worksheets.Count To 1 ...
Andy2483 發表於 2025-11-19 11:30



前輩,如果我想在每個生產新的表格内,某個指定的儲存格内分別填入不同資料,應該怎樣去指定不同表的不同儲存格?以及應該放在SUB FORM 哪個位置�堙H

舉例


Structural 表内,Range("G3") = Replace(Worksheets("Read").Range("C2"), "WO", "YL")

Gasket 表内,Range("J3") = Replace(Worksheets("Read").Range("C2"), "WO", "YL")

Bom 表内,Range("L5")
if Range("A3")="Screw" then Range("L5") =Replace(Worksheets("Read").Range("C2"), "WO", "FW")
if Range("A3")="Panel" then Range("L5") =Replace(Worksheets("Read").Range("C2"), "WO", "PM")
if Range("A3")="Hardware" then Range("L5") =Replace(Worksheets("Read").Range("C2"), "WO", "HW")
if Range("A3")="Steel" then Range("L5") =Replace(Worksheets("Read").Range("C2"), "WO", "SM")
if Range("A3")="Gasket" then Range("L5") =Replace(Worksheets("Read").Range("C2"), "WO", "KW")

DN Material 表内,Range("I3") = Replace(Worksheets("Read").Range("C2"), "WO", "DM")

Fabrication Extrusion 表内,Range("H3")  = Replace(Worksheets("Read").Range("C2"), "WO", "FE")

Finish 表内,Range("G3") = Replace(Worksheets("Read").Range("C2"), "WO", "DW")

TOP

  1. Sub Finish()
  2. For j = 0 To 4: A(R, Array(2, 3, 4, 5, 7)(j)) = Drr(i, Array(2, 3, 4, 5, 6)(j)): Next
  3. End Sub
複製代碼
回復  198188

前輩 Finish 模板 是 根據本檔 WO No Sheet 欄 F - 欄 K 的字眼 導出 Frame per Dwg  欄B 有這些字眼 的產品資料

舉例  
本檔 WO No Sheet 欄 F - 欄 K  (有  FS / FG)

讀取
Frame per Dwg  欄 B  (頭兩個字有 FS / FG) 的所有數據,數量加總


    請前輩試試看

Option Explicit
Public A, Z, R&, W, L, i&, Brr, Mrr, Q, Drr, ...
Andy2483 發表於 2025-11-17 10:52

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題