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

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

¥»©«³Ì«á¥Ñ 198188 ©ó 2025-10-30 17:12 ½s¿è
¦^´_  198188


Frame per Dwg ªº¤À§G¹Ï¸¹ ¬O Layout Dwg  ªº¤À§G¹Ï¸¹±a¥X¨Óªº,«ç»ò¥i¯à«áªÌ¥X²{,«eªÌ¤£ ...
Andy2483 µoªí©ó 2025-10-30 16:36



¥i¯à¤§«e·¾³q¦³»~¸Ñ¡G

¥»ÀÉFrame per Dwg ªí ªº³W«h¥¿½T
®Ú¾Ú¥»ÀÉLayout Dwg ªº¤À§G¹Ï¡A±a¥X ¥»ÀÉ Frame per Dwgªí内¤@¼Ëªº¤À§G¹Ï¸ê®Æ

¥»ÀÉ Part List ªíªº ³W«h¬O¦³2±ø¡G
1. ®Ú¾Ú¥»ÀÉLayout Dwg ªº¤À§G¹Ï Äæ A¡A¦Ó¨S¦³¥X²{¦b¥»ÀÉ Frame per Dwgªí内¡A±a¥X Data Base ÀÉ Part Listªí内¤@¼Ëªº¤À§G¹Ï¸ê®Æ
1.1 ¦pªG³Ì«á¤@­Ó¦r¬O¤p¼g­^¤å¡A´N¥ý¥h°£¦A¹ï¤ñData BaseÀÉ Part Listªíªº¤À§G¹Ï¸ê®Æ
1.2 Qty ­pºâ¤@¼Ë

2. ®Ú¾Ú¥»ÀÉFrame per Dwg ªº ²Õ¸Ë¹Ï ÄæB ,
2.1 ¥»ÀÉFrame per Dwg ªº²Õ¸Ë¹Ï¸¹ §t¦³ ¥»ÀÉWO No F-KÄæªº¦r¥À
2.2 ±a¥X Data Base ÀÉ Part Listªí内¤@¼Ëªº¤À§G¹Ï¸ê®Æ
2.3 Qty ­pºâ¤@¼Ë

­ì²z¦p¤U¡A
¤À§G¹Ï¥]§t¨âºØ¡G
1. ³æ¯Â¹s¥ó¡A¤£»Ý­n²Õ¸Ë¡A³o¨Ç¬Oµ¹¤u¦a¨Ï¥Î
1.1 Layout Dwg ªí¬O¥Î¨Ó ³z¹L¤À§G¹Ï¸¹ ±a¥X¤@¨Ç ¤À§G¹Ï¸¹ªº¹s¥ó (³o­Ó¬O¤£»Ý­n²Õ¸Ëªº¹s¥ó)

2. ¥Î²Õ¸Ë¦¨¬°¦¨«~ªº¹s¥ó¡A³o¨Ç¬Oµ¹¤u¼t¨Ó²Õ¸Ë¥Î
2.1  Frame per Dwg ªí¬O¥Î¨Ó ³z¹L²Õ¸Ë¹Ï¸¹ ±a¥X¤@¨Ç ²Õ¸Ë¹Ï¸¹ªº¹s¥ó (³o­Ó¬O¥Î¨Ó²Õ¸Ë¥Îªº¹s¥ó¡^

TOP

¦^´_  198188


1.¤u¦a¥Îªº¿z¿ïºñ¦â¡A¤u¼t¥Îªº¿z¶À¦â¡A³o¼Ë¥i¥H¦b¦P¤@ªí¸Ì°Ï§O

2.¼W¥[¤@­Ó¤u¦a¥Îªº¤u ...
Andy2483 µoªí©ó 2025-10-30 17:40



1.¤u¦a¥Îªº¿z¿ïºñ¦â¡A¤u¼t¥Îªº¿z¶À¦â¡A³o¼Ë¥i¥H¦b¦P¤@ªí¸Ì°Ï§O

¤§«eºñ¦â´N¬O¤u¦a¥Î¡A¤£¹L¨S¦³§¹¥þ¿z°£¦bFrame per Dwg ¦s¦bªº¤À§G¹Ï¸¹

§Ú¸Õ¹L´X­Ó¤£¦Pªº¼Ó¼h¼Ò¦¡¡Aµo²{¤U­±³o­Ó±¡ªp¡G
02F-08F ³o­Ó¼Ò¦¡¦n¹³¦³¿z¬d¥X¨Ó¡A
VMU, PMU, LMI&SMI, LMI ³o­Ó¼Ò¦¡´N¨S¦³¿z¬d¥X¨Ó¡C

TOP

Data base¸ÌListªí¦³­þ¤@­ÓÄæ¦ì°Ï§O ¤u¦a¥Î©Î ¤u¼t¥Î¶Ü¡H
Andy2483 µoªí©ó 2025-10-30 17:59



¨º¨Ç¬O»sªí®É¤~»Ý­n¡A³ÆµùÄæ·|¼Ðª`¤£¦P²Å¸¹¡C
²{¦bpart list ¬O¾É¥X©Ò¦³»Ý­nªº¹s¥ó¡AµM«á¦A³z¹L¥»ÀÉPart listªí ³ÆµùÄæ©M¥»ÀÉRuleªí¨Ó¤À°t¡A¥H¤£¦P¹s¥ó¤jÃþ¡A¤À¬°
¤u¦a¥Î/¤u¼t¥Î¡C

TOP

¥»©«³Ì«á¥Ñ 198188 ©ó 2025-10-30 20:24 ½s¿è
¦^´_  198188
¥Î99¼Óªºµ{¦¡½X­×§ï¤@¤U
   T = Brr(i, 8) ¡GT1 = Brr(i, 7)
    If (Z(T) > 0 Or Z(Q) > ...
Andy2483 µoªí©ó 2025-10-30 20:04



  ³o­Ó­×§ï¬O§_¤w¸g¸Ñ¨M¤U­±ªº°ÝÃD


¥»ÀÉ Part List ªíªº ³W«h¬O¦³2±ø¡G
1. ®Ú¾Ú¥»ÀÉLayout Dwg ªº¤À§G¹Ï Äæ A¡A¦Ó¨S¦³¥X²{¦b¥»ÀÉ Frame per Dwgªí内¡A±a¥X Data Base ÀÉ Part Listªí内¤@¼Ëªº¤À§G¹Ï¸ê®Æ
1.1 ¦pªG³Ì«á¤@­Ó¦r¬O¤p¼g­^¤å¡A´N¥ý¥h°£¦A¹ï¤ñData BaseÀÉ Part Listªíªº¤À§G¹Ï¸ê®Æ
1.2 Qty ­pºâ¤@¼Ë

2. ®Ú¾Ú¥»ÀÉFrame per Dwg ªº ²Õ¸Ë¹Ï ÄæB ,
2.1 ¥»ÀÉFrame per Dwg ªº²Õ¸Ë¹Ï¸¹ §t¦³ ¥»ÀÉWO No F-KÄæªº¦r¥À
2.2 ±a¥X Data Base ÀÉ Part Listªí内¤@¼Ëªº¤À§G¹Ï¸ê®Æ
2.3 Qty ­pºâ¤@¼Ë

TOP

¥»©«³Ì«á¥Ñ 198188 ©ó 2025-10-30 21:09 ½s¿è
¦^´_  198188

¥[§ï³o¬q
Brr = Range(Brr, Brr.Offset(, 1))
For i = 2 To UBound(Brr)
   If Z(Brr ...
Andy2483 µoªí©ó 2025-10-30 20:40



³o¬q­×§ï¬O°w¹ïFRAME PER DWGªí¾É¥Xªº¤º®e¶Ü¡H ¤§«e FRAME PER DWG ªí¾É¥X¤º®e¨S°ÝÃDªº¡C
À³¸Ó¬O°w¹ïPART LISTªí»Ý­n¾É¥Xªº¤º®e¡C¬OPart list ªíªº¸ê®Æ¤£¥¿½T¡C
À³¸Ó¦b¤U­±ªºµ{¦¡¥[¤@¥y¬õ¦âªº¹LÂo³W«h

For i = UBound(Brr) To 2 Step -1
   T = Brr(i, 8)
     ¦pªG¥»ÀÉLayout Dwg¤À§G¹Ï¸¹¨S¦b¥»ÀÉFrame per Dwgªí¥X²{¡Athen
   If T Like "*[a-z]" Then
   '¡ô1.­YTÅܼƧÀ³¡¬O­^¤å¤p¼g
      Q = Left(T, Len(T) - 1)
      '¡ô´N¥OQÅܼƬO TÅܼƥh±¼§À³¡¤p¼g­^¤å«áªº¦r¦ê
      Else
      'Q = "||"
      '¡ô§_«h´N¥OQÅܼƬO "||",
      '¦pªG¨S¦³³o¦æ Q = "||" !!,¤U¤@µ§·|´Ý¯d §À³¡¬O­^¤å¤p¼gªº¼Æ¶q
   End If
   If Z(T) > 0 Or Z(Q) > 0 Then
      If Z(T) <> 0 And Z(Q) > 0 Then
         MsgBox "Z(Q)¦³´Ý¯d!"
      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

TOP

  1. Sub Data()
  2. Dim Arr, Brr, Crr, Z, Q, S, i&, j%, N&, T$, T1$, MyPath$, xFile$, xBook As Workbook, Re, R&
  3. Application.ScreenUpdating = False
  4. For Each S In [{"Layout Dwg","Frame per Dwg","Part List"}]
  5.    Sheets(S).UsedRange.Rows.Offset(1).EntireRow.Delete
  6. Next
  7. MyPath = ThisWorkbook.Path & "\"
  8. xFile = "Data Base1.xlsx"
  9. On Error Resume Next
  10. Set xBook = Workbooks(xFile)
  11. If xBook Is Nothing Then
  12.    Set xBook = Workbooks.Open(MyPath & xFile, , True, , "")
  13.    Re = True: ThisWorkbook.Activate
  14. End If
  15. On Error GoTo 0
  16. Set Z = CreateObject("Scripting.Dictionary")
  17. T = Sheets("Read").[A2] & "|" & Sheets("Read").[C2]
  18. T1 = Sheets("Read").[B2]
  19. With xBook.Sheets("WO No")
  20.    For i = 2 To .[A65536].End(3).Row
  21.       If .Cells(i, "B") & "|" & .Cells(i, "D") = T Then
  22.          .Rows(i).Copy Sheets("WO No").Rows(2)
  23.          For j = 6 To 11
  24.             Z("|" & .Cells(i, j)) = ""
  25.          Next
  26.          Sheets("Read").[A2].Resize(, 3).Copy Sheets("WO No").[B2]
  27.          GoTo 11
  28.       End If
  29.    Next
  30.    MsgBox "Nothing": Exit Sub
  31. End With
  32. 11
  33. If T1 Like "##F-*##F" Then
  34.    For i = Val(T1) To Val(StrReverse(Mid(StrReverse(T1), 2, 2)))
  35.       Z(Format(i, "00F")) = ""
  36.    Next
  37.    Else
  38.       Q = Split(T1 & "&" & T1, "&")
  39.       For i = 0 To UBound(Q)
  40.          Z(Q(i)) = 0
  41.       Next
  42. End If
  43. Brr = xBook.Sheets("Layout Dwg").UsedRange
  44. For i = 2 To UBound(Brr)
  45.    If Z.Exists(Brr(i, 2)) And Brr(i, 4) = Sheets("Read").[A2] Then
  46.       Z(Brr(i, 1)) = Z(Brr(i, 1)) + Val(Brr(i, 3))
  47.       N = N + 1
  48.       For j = 1 To 4: Brr(N, j) = Brr(i, j): Next
  49.    End If
  50. Next
  51. If N > 0 Then Sheets("Layout Dwg").[A2].Resize(N, 4) = Brr: N = 0 Else MsgBox "Nothing under the floor": GoTo 12
  52. Set Brr = xBook.Sheets("Frame per Dwg").UsedRange
  53. Brr = Range(Brr, Brr.Offset(, 1))
  54. For i = 2 To UBound(Brr)
  55.    If Z(Brr(i, 1)) > 0 Then
  56.       N = N + 1
  57.       For j = 1 To 6: Brr(N, j) = Brr(i, j): Next
  58.       Brr(N, 7) = Brr(N, 5) & " x " & Z(Brr(i, 1))
  59.       Brr(N, 5) = Brr(N, 5) * Z(Brr(i, 1))
  60.       Z(Brr(i, 2) & "/") = Z(Brr(i, 2) & "/") + Brr(N, 5)
  61.    End If
  62. Next
  63. For i = 1 To N
  64.    Brr(i, 1) = i
  65. Next
  66. Sheets("Frame per Dwg").[A1] = " No "
  67. If N > 0 Then Sheets("Frame per Dwg").[A2].Resize(N, 7) = Brr: N = 0 Else MsgBox "Frame per Dwg_Nothing"
  68. Brr = xBook.Sheets("Part List").UsedRange
  69. ReDim Arr(1 To 100000, 1 To 14): Crr = Arr
  70. For i = 2 To UBound(Brr)
  71.    T = Brr(i, 8): T1 = Brr(i, 7)
  72.     If (Z(T) > 0 Or Z(Q) > 0) And InStr("YO", T1) > 0 Then
  73.       N = N + 1
  74.       For j = 1 To 13: Arr(N, j) = Brr(i, j): Next
  75.       Arr(N, 14) = Arr(N, 3) & " x " & (Z(T) + Z(Q))
  76.       Arr(N, 3) = Arr(N, 3) * (Z(T) + Z(Q))
  77.    End If
  78.    If Z(T & "/") > 0 And Z.Exists("|" & Left(T, 2)) And InStr("YO", T1) = 0 Then
  79.       R = R + 1
  80.       For j = 1 To 13: Crr(R, j) = Brr(i, j): Next
  81.       Crr(R, 14) = Crr(R, 3) & " x " & Z(T & "/")
  82.       Crr(R, 3) = Crr(R, 3) * Z(T & "/")
  83.    End If
  84. Next
  85. If N > 0 Then
  86.    With Sheets("Part List").[A2].Resize(N, 14)
  87.       .Value = Arr
  88.       .Interior.ColorIndex = 35
  89.    End With
  90. End If
  91. If R > 0 Then
  92.    With Sheets("Part List").Cells(N + 2, 1).Resize(R, 14)
  93.       .Value = Crr
  94.       .Interior.ColorIndex = 36
  95.    End With
  96. End If
  97. If N + R = 0 Then MsgBox "Part List_Nothing"
  98. 12: If Re = True Then xBook.Close 0
  99. End Sub
½Æ»s¥N½X
¦^´_  198188


   
1.³oµ{¦¡½X¤w¸g¶Ã±¼¤F,¥þ³¡³£§R°£
2.½Æ»s99 ¼Óªºµ{¦¡½X¶K¶i¥h
3.¥Î116¼Óªºµ{¦¡ ...
Andy2483 µoªí©ó 2025-10-30 22:26




«e½ú¡A´«¤F¤§«á¡A°õ¦æ¥X²{³o­Ó°ÝÃD¡C

TOP

¦^´_  198188


    ·|¤£·|¬O¨t²Î»y¨¥¤£¦P³y¦¨ªº®t²§,½Ð¸Õ¸Õ¥H¤U ¥N½X

Sub Data()
Dim Arr, Brr, C ...
Andy2483 µoªí©ó 2025-10-30 10:53


«e½ú¡A¥i§_ª½±µ¦b³o­Óµ{¦¡¥[¤@­Ó±ø¥ó¡A¿z¬d ±N¨S¦³¦b¥»ÀÉFrame per Dwg ¥X²{ ªº Layout Dwg ¤À§G¹Ï¸¹¡A¸ò Data Base Part List ¤À§G¹Ï¸¹ ¹ï¤ñ¡C
¨ä¥L¤è­±³o­Óµ{¦¡¨S¦³°ÝÃD¤F¡C

TOP

        ÀR«ä¦Û¦b : ¤â¤ß¦V¤U¬O§U¤H¡A¤â¤ß¦V¤W¬O¨D¤H¡F§U¤H§Ö¼Ö¡A¨D¤Hµh­W¡C
ªð¦^¦Cªí ¤W¤@¥DÃD