ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

½Ð°Ý³W«h02F - 04F ¦pªG¦bData Base ¿z¿ï¦b³o­Ó½d³ò内ªº¬ÛÃö¸ê®Æ

§ï§¹¤§«á¡A¹B¦æµ{¦¡¡A¾ã­ÓExcel ¤@ª½ ¨S¦³¦^À³¡C
198188 µoªí©ó 2025-10-23 14:53



    ¹B¦æ¤j·§¥b¤p®É«á¡A¥X²{³o­Ó¿ù»~¡C

TOP

¦^´_ 40# 198188


    §Ú´ú¸Õ Part Listªí2000¦C »Ý­n60¬í
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 41# 198188


    ¨S¦³¹ê»Ú¤j¶q¸ê®Æ½d¨Ò°µ´ú¸Õ,¥u¯à«ØÄ³¦Û¦æ º¥¶i¼W¥[¸ê®Æ¶q°µ´ú¸Õ
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 40# 198188


    °}¦C¦b¦r¨å©I¥s¥X¨Ó»P ¸Ó°}¦C©ñ¦^¦r¨å¸Ì»Ý­n®É¶¡,¸ê®Æ¶q¤ÖÁÙ¥i¥H,¦ý¤j¸ê®Æ¶q¦pªG­nÁYµu®É¶¡:
²z½×¤W¬O¥i¥H»²§UÄæ¨ú AÄæ¥[¤u¥ó½s¸¹«e2½X»P GÄæ³Æª`°µ2¼h±Æ§Ç,¨Ã­×§ï°j°éªº¹B¦æ¤è¦¡,À³¸Ó¥i¥HÁYµu®É¶¡
«á¾Ç¦A¼·ªÅ¬ã¨s¬Ý¬Ý
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_  198188


    ¨S¦³¹ê»Ú¤j¶q¸ê®Æ½d¨Ò°µ´ú¸Õ,¥u¯à«ØÄ³¦Û¦æ º¥¶i¼W¥[¸ê®Æ¶q°µ´ú¸Õ
Andy2483 µoªí©ó 2025-10-23 15:19


[attach]38159[/attach]

¥Ñ©óÀÉ®×¹L¤j¡AµLªk¤W¸ü¡A§Ú©î¤À¤F 7 ­Ó Excel
Result 23 Oct ¬O§Ú¥Î¨Ó´ú¸Õªº¼ÒªO©Mµ{¦¡,
Data Base 1 ¬O°£¤F Part List ³o­¶¸ê®Æªº Data Base
Data Base ùØ­±ªº Part List ¦@¦³ 45135 ­Ó¸ê®Æ¡A§Ú¤À§O¥Î 5 ­ÓExcel ©Ó¸ü¡C±q1-10000¡A10001-20000¡A20001-30000¡A 30001-40000¡A 40001-45135

¨ä¤¤§Úµo²{¤@­Ó°ÝÃD¡A´N¬O¹B¦æ¤§«eªº Data µ{¦¡¬O¡APart List ªº¼Æ¶q¥þ³¡¬O 0¡A ¦Ó¥B¸ê®Æ¤£¹ï¡C
³W«h¬O
¤é´Á              §å¦¸¦¸§Ç           ¼Ó¼h            ¥Í²£³æ¸¹                   ¶µ¥Ø内®e                      ¦U¼Ë¼Æ¾Ú                                       
22-Dec-23        A               02F-08F         WO-J057-022        02F-08Fµ¡¥É                  WS        -        -        -        -        -

²Ä¤@   Layout Dwg ùØ­±¤À§G¹Ï¸¹¦b Frame per Dwg ¨S¦³ªº¤À§G¹Ï¡A­n¿z¿ï¦bPart List
²Ä¤G   ®Ú¾Ú Frame Per Dwg ùØ­±ªº²Õ¸Ë¹Ï¸¹¡A¦bPart List ¿z¿ï¥X¨Ó, (¥uÅã¥Ü WO No ¦U¼Ë¼Æ¾Ú¦³ªº¬ÛÃö¦r¥À¡A¥H¤W¦C¬OWS¦rÀYªº¤~¥X²{¡^
½Ð°Ñ¦Ò ªþ¥óData µ{¦¡³W«h¿ù»~¡C

¤£ª¾¬O§_¦]爲³o­Ó°ÝÃD¡A¾É­PForm ³o­Óµ{¦¡¹B¦æ¡C

Data Base- Part List 1-10000.rar (546.79 KB)

Data Base- Part List 10001-20000.rar (542.02 KB)

Data Base- Part List 20001-30000.rar (409.05 KB)

Data Base- Part List 30001-40000.rar (440.62 KB)

Data Base- Part List 40001-45135.rar (216.82 KB)

Data Base1.rar (385.09 KB)

Result 23 Oct.rar (223.93 KB)

Data µ{¦¡ ³W«h¿ù»~.rar (10.3 KB)

TOP

¦^´_ 45# 198188


    ¤Ó¿N¸£¤F,©ñ°²«á¦A¼·ªÅ¤U¸ü¸Õ¸Õ
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_  198188


    ¤Ó¿N¸£¤F,©ñ°²«á¦A¼·ªÅ¤U¸ü¸Õ¸Õ
Andy2483 µoªí©ó 2025-10-23 16:38



    ¦³³Ò«e½ú¤F¡C

TOP

¥»©«³Ì«á¥Ñ 198188 ©ó 2025-10-27 11:07 ½s¿è
  1. Sub Data()
  2. Dim Brr, Z, Q, i&, j%, N&, T$, T1$, MyPath$, xFile$, xBook As Workbook, MyBook As Workbook, Re

  3. Sheets("WO No").Range("A2").EntireRow.Delete
  4. Sheets("Layout Dwg").Range("A2:D66500").ClearContents
  5. Sheets("Frame per Dwg").Range("A2:F66500").ClearContents
  6. Sheets("Part List").Range("A2:M66500").ClearContents

  7. Set Z = CreateObject("Scripting.Dictionary")
  8. Set MyBook = ThisWorkbook
  9. MyPath = MyBook.Path & "\"
  10. xFile = "Data Base.xlsx"
  11. On Error Resume Next
  12. Set xBook = Workbooks(xFile)
  13. If xBook Is Nothing Then
  14.    Set xBook = Workbooks.Open(MyPath & xFile, , True, , "")
  15.    Re = True
  16.    MyBook.Activate
  17. End If
  18. On Error GoTo 0

  19. T = Sheets("Read").[A2] & "|" & Sheets("Read").[C2]
  20. T1 = Sheets("Read").[B2]

  21. With xBook.Sheets("WO No")
  22.    For i = 2 To .[A65536].End(3).Row
  23.       If .Cells(i, "B") & "|" & .Cells(i, "D") = T Then
  24.          .Rows(i).Copy Sheets("WO No").Rows(2)
  25.          Sheets("Read").[A2].Resize(, 3).Copy Sheets("WO No").[B2]
  26.          GoTo 11
  27.       End If
  28.    Next
  29.    
  30.    MsgBox "Nothing": Exit Sub
  31.    
  32. End With
  33. '===================================================================================
  34. 11
  35. If T1 Like "##F-*##F" Then
  36.    For i = Val(T1) To Val(StrReverse(Mid(StrReverse(T1), 2, 2)))
  37.       Z(Format(i, "00F")) = ""
  38.    Next
  39.    Else
  40.    Q = Split(T1 & "&" & T1, "&")
  41.    For i = 0 To UBound(Q)
  42.       Z(Q(i)) = 0
  43.    Next
  44. End If

  45. Brr = xBook.Sheets("Layout Dwg").[A1].CurrentRegion
  46. For i = 2 To UBound(Brr)
  47.    If Z.Exists(Brr(i, 2)) Then
  48.    If Brr(i, 4) = Sheets("Read").[A2] Then
  49.       Z(Brr(i, 1)) = Z(Brr(i, 1)) + Val(Brr(i, 3))
  50.       N = N + 1
  51.       For j = 1 To 4: Brr(N, j) = Brr(i, j): Next
  52.    End If
  53.    End If
  54. Next
  55. If N > 0 Then Sheets("Layout Dwg").[A2].Resize(N, 4) = Brr: N = 0 Else MsgBox "Nothing under the floor"


  56. Brr = xBook.Sheets("Frame per Dwg").[A1].CurrentRegion
  57. For i = 2 To UBound(Brr)
  58.    If Z(Brr(i, 1)) > 0 Then
  59.       N = N + 1
  60.       For j = 1 To 6: Brr(N, j) = Brr(i, j): Next
  61.       Brr(N, 5) = Brr(N, 5) * Z(Brr(i, 1))
  62.    End If
  63. Next
  64. If N > 0 Then Sheets("Frame per Dwg").[A2].Resize(N, 6) = Brr: N = 0
  65. '===========================================================================
  66. Brr = xBook.Sheets("Part List").[A1].CurrentRegion
  67. For i = 2 To UBound(Brr)
  68.    If Z(Brr(i, 7)) > 0 Then
  69.       N = N + 1
  70.       For j = 1 To 13: Brr(N, j) = Brr(i, j): Next
  71.       Brr(N, 3) = Brr(N, 3) * Z(Brr(i, 7))
  72.    End If
  73. Next
  74. If N > 0 Then Sheets("Part List").[A2].Resize(N, 13) = Brr
  75. '==================================================================

  76. A = Sheets("WO No").Range("F2")
  77. b = Sheets("WO No").Range("G2")
  78. C = Sheets("WO No").Range("H2")
  79. d = Sheets("WO No").Range("I2")
  80. e = Sheets("WO No").Range("J2")
  81. f = Sheets("WO No").Range("K2")


  82. G = Sheets("Part List").Range("A1").CurrentRegion.Rows.Count + 1

  83. Brr = Sheets("Frame per Dwg").[A1].CurrentRegion
  84.   For i = 2 To UBound(Brr)
  85.   If Mid(Brr(i, 2), 1, 2) = A Or Mid(Brr(i, 2), 1, 2) = b Or Mid(Brr(i, 2), 1, 2) = C Or Mid(Brr(i, 2), 1, 2) = d Or Mid(Brr(i, 2), 1, 2) = e Or Mid(Brr(i, 2), 1, 2) = f Then
  86.    Z(Brr(i, 2)) = Z(Brr(i, 2))
  87.       N = N + 1
  88.       For j = 1 To 6: Brr(N, j) = Brr(i, j): Next
  89.    End If

  90. Next

  91. N = 1
  92. Arr = xBook.Sheets("Part List").[A1].CurrentRegion
  93. For i = 2 To UBound(Arr)
  94.    If Z.Exists(Arr(i, 8)) Then
  95.       N = N + 1
  96.       For j = 1 To 13
  97.       Arr(N, j) = Arr(i, j)
  98.       Next j
  99.       Arr(N, 5) = Arr(N, 5) * Z(Arr(i, 7))
  100.    End If
  101. Next
  102. If N > 0 Then Sheets("Part List").Range("A" & G).Resize(N, 13) = Arr

  103. Sheets("Part List").Select
  104. Rows(G).Select
  105. Selection.Delete Shift:=xlUp
  106. If Re = True Then xBook.Close 0

  107. End Sub
½Æ»s¥N½X
¦^´_  198188


    ¤Ó¿N¸£¤F,©ñ°²«á¦A¼·ªÅ¤U¸ü¸Õ¸Õ
Andy2483 µoªí©ó 2025-10-23 16:38


«e½ú¡APart List ³¡¤À¡A§Ú¸Ñ¨M¤F¤@³¡¤À¡A¦ý¬O¥X¨Óªº¸ê®Æ¡AÁÙ¬O¤£§¹¾ã¡C

»sªí³¡¤À¡A¬O®Ú¾Ú¤§«e¾É¥Xªº ¡§Part List ¡¨内ªº¸ê®Æ¡A¨Ó»sªí¡C
§Ú¹B§@«á¡Aµo²{¬O¥d¦b¥´¶}·sªºExcel ·s¼W Sheet ¨ºùØ¥d¦í¡A¤£À´±o·s¼W¡C

TOP

«e½ú¡APart List ³¡¤À¡A§Ú¸Ñ¨M¤F¤@³¡¤À¡A¦ý¬O¥X¨Óªº¸ê®Æ¡AÁÙ¬O¤£§¹¾ã¡C

»sªí³¡¤À¡A¬O®Ú¾Ú¤§«e¾É¥Xªº ...
198188 µoªí©ó 2025-10-27 10:54


If Z.Exists(Brr(i, 2)) Then
³o¥yÀ³¸Ó¦p¦ó­×§ï¡A§Ú·Q§ä´M¥]§t BC132 (Brr(i,2)) ªº¦r¥Àªº¼Æ¾Ú¡H
BC132
BC132a
BC132b
BC132c

TOP

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2025-10-27 15:39 ½s¿è

¦^´_ 45# 198188


    ¥H¤U¤è®×½Ð¸Õ¸Õ¬Ý:

Option Explicit
Dim A, Z, R&, W, L, i&, Brr, Mrr, Q, Drr
Sub TEST()
Dim Arr, Crr(1 To 100000, 1 To 18), V, xW$, S, j%, C%, y%, K, X%, T$, T1$, T2$, T3$, T4$, T5$, Ts
Ts = Timer
Application.ScreenUpdating = False
Set Z = CreateObject("Scripting.Dictionary")
Brr = [Rule!A1].CurrentRegion
For i = 3 To UBound(Brr)
   For j = 2 To 8
      T = Brr(i, j)
      If T <> "" Then
         If Z(T & "|") = "" Then
            T1 = Trim(Mid(Brr(2, j), 1, Len(Brr(2, j)) * 2 - LenB(StrConv(Brr(2, j), vbFromUnicode)) - 2))
            Z(T & "|") = T1
         End If
         Exit For
      End If
   Next
   For j = 11 To 28
      If Brr(i, j) = "" Then Exit For
      T2 = Brr(i, 11) & "-" & T
      Z(Brr(i, j) & "-" & T) = T2
      If Z(T2 & "/") = "" Then Z(T2 & "/") = Brr(i, 9) & "-" & Z(T & "|")
      S = Brr(i, 1)
      Z(T2 & "/s") = S
      Z(S & "/UR") = Sheets(S).[A65536].End(3)(2).Row
      Z(S & "/UC") = Sheets(S).Cells(Z(S & "/UR") - 1, 256).End(xlToLeft).Column
   Next
Next
Mrr = Sheets("Material").UsedRange
For i = 2 To UBound(Mrr)
   Z(Mrr(i, 3) & "/m") = i
Next
If Sheets("Part List").FilterMode = True Then Sheets("Part List").ShowAllData
With Range(Sheets("Part List").[P1], Sheets("Part List").[A65536].End(3)(2))
   With .Columns(15): .Cells = "=ROW()": .Value = .Value: End With
   Brr = .Value
   ReDim Arr(1 To UBound(Brr) - 1, 1 To 1)
   For i = 2 To UBound(Brr)
      T = Left(Brr(i, 1), 2) & "-" & Brr(i, 7)
      If InStr("Y-O", Right(T, 1)) Then Arr(i - 1, 1) = Z(T)
   Next
   .Cells(2, 16).Resize(UBound(Brr) - 1, 1) = Arr
   .Sort KEY1:=.Item(16), Order1:=1, Header:=1
   Brr = .Value
   .Sort KEY1:=.Item(15), Order1:=1, Header:=1
   .Cells(1, 15).Resize(, 2).EntireColumn.Delete
   A = Crr
   For i = 2 To UBound(Brr) - 1
      If Brr(i, 16) = "" Then Exit For
      T = Brr(i, 16)
      R = R + 1: A(R, 1) = R: Run Replace(Z(T & "/s"), " ", "_")
      If Brr(i, 16) <> Brr(i + 1, 16) Then
         If xW = "" Then
            Workbooks.Add
            xW = ActiveWorkbook.Name
         End If
         ThisWorkbook.Sheets(Z(Brr(i, 16) & "/s")).Copy Before:=Workbooks(xW).Sheets(1)
         ActiveSheet.Name = T
         With Cells(Z(Z(T & "/s") & "/UR"), 1).Resize(R, Z(Z(T & "/s") & "/UC"))
            .Value = A
            .Borders.LineStyle = xlContinuous
         End With
         A = Crr
         R = 0
      End If
   Next
End With
ThisWorkbook.Activate
If Sheets("Frame per Dwg").FilterMode = True Then Sheets("Frame per Dwg").ShowAllData
With Range(Sheets("Frame per Dwg").[I1], Sheets("Frame per Dwg").[A65536].End(3)(2))
   With .Columns(8): .Cells = "=ROW()": .Value = .Value: End With
   Drr = .Value
   ReDim Arr(1 To UBound(Drr) - 1, 1 To 1)
   For i = 2 To UBound(Drr)
      T = Left(Drr(i, 2), 2) & "-" & Drr(i, 6)
      If InStr("WT", Right(T, 1)) Then Arr(i - 1, 1) = Z(T)
   Next
   .Cells(2, 9).Resize(UBound(Drr) - 1, 1) = Arr
   .Sort KEY1:=.Item(9), Order1:=1, Header:=1
   Drr = .Value
   .Sort KEY1:=.Item(8), Order1:=1, Header:=1
   .Cells(1, 8).Resize(, 2).EntireColumn.Delete
   A = Crr: R = 0
   For i = 2 To UBound(Drr) - 1
      If Drr(i, 9) = "" Then Exit For
      T = Drr(i, 9)
      R = R + 1: A(R, 1) = R: Run Replace(Z(T & "/s"), " ", "_")
      If Drr(i, 9) <> Drr(i + 1, 9) Then
         If xW = "" Then
            Workbooks.Add
            xW = ActiveWorkbook.Name
         End If
         ThisWorkbook.Sheets(Z(Drr(i, 9) & "/s")).Copy Before:=Workbooks(xW).Sheets(1)
         ActiveSheet.Name = T
         With Cells(Z(Z(T & "/s") & "/UR"), 1).Resize(R, Z(Z(T & "/s") & "/UC"))
            .Value = A
            .Borders.LineStyle = xlContinuous
         End With
         A = Crr
         R = 0
      End If
   Next
End With
Set Z = Nothing
Erase Arr, Brr, Crr, Drr, A, Mrr
MsgBox "¦@¯Ó®É¡G" & Timer - Ts & " ¬í"
End Sub

Sub Bom()
A(R, 2) = Brr(i, 1)
A(R, 3) = Brr(i, 12)
If A(R, 3) <> "" And Z.Exists(A(R, 3) & "/m") Then
   A(R, 4) = Mrr(Z(A(R, 3) & "/m"), 5)
   A(R, 5) = Mrr(Z(A(R, 3) & "/m"), 6)
   A(R, 6) = Mrr(Z(A(R, 3) & "/m"), 7)
   A(R, 8) = Mrr(Z(A(R, 3) & "/m"), 11)
   A(R, 9) = Mrr(Z(A(R, 3) & "/m"), 10)
   A(R, 13) = Mrr(Z(A(R, 3) & "/m"), 8)
End If
A(R, 7) = Brr(i, 4) & " x " & Brr(i, 5)
A(R, 10) = Brr(i, 3)
A(R, 18) = Brr(i, 7)
End Sub

Sub Gasket()
A(R, 2) = Brr(i, 1)
A(R, 9) = Brr(i, 3)
A(R, 6) = Brr(i, 5)
A(R, 7) = Brr(i, 6)
A(R, 11) = Brr(i, 7)
A(R, 3) = Brr(i, 12)
If A(R, 3) <> "" And Z.Exists(A(R, 3) & "/m") Then
   A(R, 4) = Mrr(Z(A(R, 3) & "/m"), 5)
   A(R, 5) = Mrr(Z(A(R, 3) & "/m"), 6)
   A(R, 8) = Mrr(Z(A(R, 3) & "/m"), 8)
End If
End Sub

Sub Structural()
A(R, 2) = Brr(i, 1)
A(R, 3) = Brr(i, 2)
A(R, 5) = Brr(i, 3)
L = Split(Brr(i, 2) & "mm", "mm")(0)
W = Split(Brr(i, 2) & "mm", "mm")(1)
L = Val(StrReverse(Mid(Val(StrReverse(L & 1)), 2)))
W = Val(StrReverse(Mid(Val(StrReverse(W & 1)), 2)))
A(R, 6) = L * W
A(R, 8) = A(R, 5) * A(R, 6) / 1000
A(R, 7) = Application.RoundUp(A(R, 5) * A(R, 6) / 1000, 0)
End Sub

Sub DN_Material()
A(R, 2) = Brr(i, 1)
A(R, 3) = Brr(i, 12)
A(R, 4) = Brr(i, 5)
A(R, 7) = Brr(i, 3)
If A(R, 3) <> "" And Z.Exists(A(R, 3) & "/m") Then
   A(R, 5) = Mrr(Z(A(R, 3) & "/m"), 11)
   A(R, 6) = Mrr(Z(A(R, 3) & "/m"), 8)
   A(R, 8) = A(R, 5) * A(R, 7)
End If
A(R, 9) = Brr(i, 7)
End Sub

Sub Fabrication_Extrusion()
A(R, 2) = Brr(i, 1)
A(R, 3) = Brr(i, 11)
A(R, 4) = Brr(i, 10)
A(R, 5) = Brr(i, 4)
A(R, 6) = Brr(i, 3)
A(R, 7) = Brr(i, 1)
If A(R, 7) Like "*-*-*" Then
   Q = Split(A(R, 7), "-")
   A(R, 7) = Q(0) & "-" & Q(1)
End If
A(R, 8) = Brr(i, 7)
End Sub

Sub Finish()
A(R, 2) = Drr(i, 2)
A(R, 3) = Drr(i, 3)
A(R, 4) = Drr(i, 4)
A(R, 5) = Drr(i, 5)
A(R, 7) = Drr(i, 6)
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¶¢¤HµL¼Ö½ì¡A¦£¤HµL¬O«D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD