- ©«¤l
- 488
- ¥DÃD
- 71
- ºëµØ
- 0
- ¿n¤À
- 584
- ÂI¦W
- 0
- §@·~¨t²Î
- win7
- ³nÅ骩¥»
- office 2010
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- µù¥U®É¶¡
- 2012-10-30
- ³Ì«áµn¿ý
- 2025-10-28
|
- Sub TEST_2()
- Dim Brr, Z, Q, i&, j%, N&, T$, T1$, MyPath$, xFile$, xBook As Workbook, MyBook As Workbook, Re
- Application.ScreenUpdating = False
- With Sheets("Layout Dwg")
- .[A2].Resize(.UsedRange.Rows.Count, 4).ClearContents
- End With
- With Sheets("Frame per Dwg")
- .[A2].Resize(.UsedRange.Rows.Count, 6).ClearContents
- End With
- With Sheets("Part List")
- .[A2].Resize(.UsedRange.Rows.Count, 13).ClearContents
- End With
- Set MyBook = ThisWorkbook
- MyPath = MyBook.Path & "\"
- xFile = "Data Base.xlsx"
- On Error Resume Next
- Set xBook = Workbooks(xFile)
- If xBook Is Nothing Then
- Set xBook = Workbooks.Open(MyPath & xFile, , True, , "")
- Re = True
- MyBook.Activate
- End If
- Set Z = CreateObject("Scripting.Dictionary")
- On Error GoTo 0
- T = Sheets("Read").[A2] & "|" & Sheets("Read").[C2]
- T1 = Sheets("Read").[B2]
- With xBook.Sheets("WO No")
- For i = 2 To .[A65536].End(3).Row
- If .Cells(i, "B") & "|" & .Cells(i, "D") = T Then
- .Rows(i).Copy Sheets("WO No").Rows(2)
- For j = 6 To 11
- Z("|" & .Cells(i, j)) = ""
- Next
- Sheets("Read").[A2].Resize(, 3).Copy Sheets("WO No").[B2]
- GoTo 11
- End If
- Next
- MsgBox "Nothing": Exit Sub
- End With
- 11
- 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
- Brr = xBook.Sheets("Layout Dwg").[A1].CurrentRegion
- For i = 2 To UBound(Brr)
- If Z.Exists(Brr(i, 2)) Then
- If Brr(i, 4) = Sheets("Read").[A2] Then
- Z(Brr(i, 1)) = Z(Brr(i, 1)) + Val(Brr(i, 3))
- N = N + 1
- For j = 1 To 4: Brr(N, j) = Brr(i, j): Next
- End If
- End If
- Next
- If N > 0 Then Sheets("Layout Dwg").[A2].Resize(N, 4) = Brr: N = 0 Else MsgBox "Nothing under the floor": GoTo 12
- Brr = xBook.Sheets("Frame per Dwg").[A1].CurrentRegion
- For i = 2 To UBound(Brr)
- If Z.Exists("|" & Left(Brr(i, 2), 2)) And Z(Brr(i, 1)) > 0 Then
- N = N + 1
- For j = 1 To 6: Brr(N, j) = Brr(i, j): Next
- Brr(N, 5) = Brr(N, 5) * Z(Brr(i, 1))
- End If
- Next
- If N > 0 Then Sheets("Frame per Dwg").[A2].Resize(N, 6) = Brr: N = 0 Else MsgBox "Frame per Dwg_Nothing"
- Brr = xBook.Sheets("Part List").[A1].CurrentRegion
- For i = 2 To UBound(Brr)
- If Brr(i, 7) Like "*[a-z]" Then Q = Left(Brr(i, 7), Len(Brr(i, 7)) - 1) Else Q = ""
- If Z(Brr(i, 7)) > 0 Or Z(Q) > 0 Then
- N = N + 1
- For j = 1 To 13: Brr(N, j) = Brr(i, j): Next
- Brr(N, 3) = Brr(N, 3) * (Z(Brr(i, 7)) + Z(Q))
- End If
- Next
- If N > 0 Then Sheets("Part List").[A2].Resize(N, 13) = Brr Else MsgBox "Part List_Nothing"
- 12: If Re = True Then xBook.Close 0
- End Sub
½Æ»s¥N½X¦^´_ 198188
Brr(N, 3) = Brr(N, 3) * Z(Brr(i, 7))
³o¦æ¤]n§ï¦¨¥H¤U,¼Æ¶q¤~·|¬O0
Br ...
Andy2483 µoªí©ó 2025-10-28 10:48 
³oÓ¤£¹ï¡A§ï¤F³oÓ Frame per Dwg Åܦ¨¤F ¥u¦³ WS ªº²Õ¸Ë¹Ï¸¹¡A¨ä¥Lªº¤£¥X²{¡C
§Úè軡ªº¬O°w¹ï Part List ªº内®e¡A Frame per Dwg ¤§«eªº内®e¬O¥¿½Tªº¡C
Frame per Dwg 内®e³W«h¡G
¦b Frame per Dwg ¾É¥X »P Layout Dwg ¬Û¦Pªº¤À§G¹Ï¸¹¡ALayout Dwg¬Û¦P¹Ï¸¹¼Æ¶q¬Û¥[ µM«á¸ò Frame per Dwg ¼Æ¶q¬Û¼
Part List 内®e³W«h¡G
1¡^ Layout Dwg ¤À§G¹Ï¸¹ ¦b Frame per Dwg ùر¨S¦³¥X²{ªº¡An¦b Part List ¥X²{¡A¼Æ¶q¬Û¼
2¡^¦b¤W±³W«h¤U¡Aªþ¥[¦h¤@Ó±ø¥ó¡A¦pªG Part List ¤À§G¹Ï¸¹ ³Ì«á¤@Ó¦r¥À¬O¤p¼g^¤å¦r¥À¡A¨º麽 Part List ¤À§G¹Ï¸¹ ¥]§t Layout Dwg ¤À§G¹Ï¸¹ ªº¤]Åã¥Ü¥X¨Ó¡C
3¡^Frame per Dwg ªº²Õ¸Ë¹Ï ÄæB §t¦³ WO No ªº Äæ F - K ¦U¼Ë¼Æ¾Ú¦r¥À¡An¦b Part List ¥X²{ ¼Æ¶q¬Û¼ |
|