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

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

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

[attach]38095[/attach][attach]38096[/attach][attach]38097[/attach]

½Ð°Ý¦pªG³W«h¬O02F - 04F ©ÎªÌ¦h­Ó¼Ó¼h¡A¦pªG¦bData Base ¿z¿ï¦b³o­Ó½d³ò内ªº¬ÛÃö¸ê®Æ¡C
¦p¹Ï¤@¡A¹Ï¤G¡A¹Ï¤T
ªþ¤WExcel Data Base & ·Q­nªºµ²ªG¤Î³W«h¡C

Desktop.rar (146.89 KB)

TOP

B2=VLOOKUP($A2,'[Data Base.xlsx]WO No'!$A:$K,COLUMN(B1),)
google"EXCEL°g"  blog  ©Îgoogleºô§}:https://hcm19522.blogspot.com/

TOP

¥»©«³Ì«á¥Ñ 198188 ©ó 2025-10-6 11:38 ½s¿è

B2=VLOOKUP($A2,'[Data Base.xlsx]WO No'!$AK,COLUMN(B1),)
hcm19522 µoªí©ó 2025-10-6 11:19


³o­Ó¦}«D§Úªº°ÝÃD­n¨D¡C
§Ú·N«ä¬O»¡¡A
§Ú¿é¤J02F-04F ¡]¹Ï1)
´N·|¦Û°Ê©â¨ú Layout Dwg ªíùØÄæ B ¼Ó¼hÄÝ©ó³o­Ó 02F - 04F ½d³ò内ªº¸ê®Æ¥X¨Ó ¡]¹Ï3¡^

§Ú¿é¤J03F-08F¡]¹Ï1)
´N·|¦Û°Ê©â¨ú Layout Dwg ªíùØÄæ B ¼Ó¼hÄÝ©ó³o­Ó 03F - 08F ½d³ò内ªº¸ê®Æ¥X¨Ó¡]¹Ï3¡^

TOP

¥»©«³Ì«á¥Ñ 198188 ©ó 2025-10-8 09:16 ½s¿è
  1. Sub Copy_Layout_To_Data() 'ok!
  2.         Dim h, i, j As Integer
  3.         Dim myString, myString1 As String
  4.         Dim charToFind, charToFind1, charToFind2 As String
  5.         Dim position, position1, position2, position3 As Long
  6.         Dim stringLength, stringLength1 As Long
  7.         j = 2
  8.         
  9.         h = Worksheets("Layout Dwg").Cells(Rows.Count, 1).End(3).Row
  10.         h = h + 1
  11.         
  12.         myString = Sheets("Data").Range("C2")
  13.         stringLength = Len(myString)
  14.         charToFind = "-" ' Searching for lowercase '-' in "World"
  15.         position = InStr(1, myString, charToFind, vbTextCompare)

  16.         If position > 0 Then
  17.         
  18.         a = Mid(myString, 1, position - 2)
  19.         b = Mid(myString, position + 1, stringLength - position - 1)
  20.         
  21.         For i = 2 To h
  22.         Sheets("Layout Dwg").Select
  23.         myString1 = Range("B" & i)
  24.         charToFind2 = "F" ' Searching for lowercase 'F' in "World"
  25.         position2 = InStr(1, myString1, charToFind2, vbTextCompare)
  26.         
  27.         If position2 > 0 Then
  28.         c = Mid(myString1, 1, position2 - 1)
  29.         If c = a Then
  30.         Sheets("Layout Dwg").Select
  31.         Range("A" & i & ":C" & i).Select
  32.         Selection.Copy
  33.         Sheets("Data").Select
  34.         Range("M" & j).Select
  35.         ActiveSheet.Paste
  36.         j = j + 1
  37.         Else
  38.         If c > a And c <= b Then
  39.         Sheets("Layout Dwg").Select
  40.         Range("A" & i & ":C" & i).Select
  41.         Selection.Copy
  42.         Sheets("Data").Select
  43.         Range("M" & j).Select
  44.         ActiveSheet.Paste
  45.         j = j + 1
  46.         End If
  47.         End If
  48.         End If
  49.         Next i
  50.         
  51.         Else
  52.         charToFind1 = "&" ' Searching for lowercase '&' in "World"
  53.         position1 = InStr(1, myString, charToFind1, vbTextCompare)
  54.         If position1 > 0 Then
  55.         Z = Mid(myString, 1, position1 - 1)
  56.         y = Mid(myString, position1 + 1, stringLength - position1)
  57.         
  58.         For i = 2 To h
  59.         
  60.         Sheets("Layout Dwg").Select
  61.         c = Range("B" & i)
  62.         If c = Z Or c = y Then
  63.         Sheets("Layout Dwg").Select
  64.         Range("A" & i & ":C" & i).Select
  65.         Selection.Copy
  66.         Sheets("Data").Select
  67.         Range("M" & j).Select
  68.         ActiveSheet.Paste
  69.         j = j + 1
  70.         End If
  71.         
  72.         Next i
  73.         
  74.         Else
  75.         W = myString
  76.         For i = 2 To h
  77.         
  78.         Sheets("Layout Dwg").Select
  79.         c = Range("B" & i)
  80.         If c = W Then
  81.         Sheets("Layout Dwg").Select
  82.         Range("A" & i & ":C" & i).Select
  83.         Selection.Copy
  84.         Sheets("Data").Select
  85.         Range("M" & j).Select
  86.         ActiveSheet.Paste
  87.         j = j + 1
  88.         End If
  89.         Next i
  90.         
  91.         End If
  92.         End If
  93.     End Sub
½Æ»s¥N½X
³o­Ó¦}«D§Úªº°ÝÃD­n¨D¡C
§Ú·N«ä¬O»¡¡A
§Ú¿é¤J02F-04F ¡]¹Ï1)
´N·|¦Û°Ê©â¨ú Layout Dwg ªíùØÄæ B ¼Ó¼h ...
198188 µoªí©ó 2025-10-6 11:36

¹Á¸Õ¥Î³o­Ó¤è¦¡¥i¥H°Ï§O¡A¦ý¬O¹B¦æ³t«×¤ÓºC¡A½Ð±Ð¦U¤j¤j¦³¨S¦³§ï¶iªÅ¶¡¡H

Data Base.rar (162.25 KB)

TOP

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

¦^´_ 2# 198188


    ÁÂÁ«e½úµoªí¦¹¥DÃD»P½d¨Ò
«á¾ÇÂǦ¹©«½m²ß°}¦C»P¦r¨å,¾Ç²ß¤è®×¦p¤U,½Ð«e½ú°Ñ¦Ò

Option Explicit
Sub TEST()
Dim Brr, Z, Q, i&, j%, N&, T$, T1$, MyPath$, xFile$, xBook As Workbook, MyBook As Workbook, Re
Set Z = CreateObject("Scripting.Dictionary")
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
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)
         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
      Z(Brr(i, 1)) = Z(Brr(i, 1)) + Val(Brr(i, 3))
      N = N + 1
      For j = 1 To 3: Brr(N, j) = Brr(i, j): Next
   End If
Next
If N > 0 Then Sheets("Layout Dwg").[K2].Resize(N, 3) = Brr: N = 0 Else MsgBox "Nothing2": GoTo 12
Brr = xBook.Sheets("Frame per Dwg").[A1].CurrentRegion
For i = 2 To UBound(Brr)
   If 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").[N2].Resize(N, 6) = Brr: N = 0
Brr = xBook.Sheets("Part List").[A1].CurrentRegion
For i = 2 To UBound(Brr)
   If Z(Brr(i, 7)) > 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))
   End If
Next
If N > 0 Then Sheets("Part List").[U2].Resize(N, 13) = Brr
12: If Re = True Then xBook.Close 0
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¥»©«³Ì«á¥Ñ 198188 ©ó 2025-10-8 16:49 ½s¿è
¦^´_  198188


    ÁÂÁ«e½úµoªí¦¹¥DÃD»P½d¨Ò
«á¾ÇÂǦ¹©«½m²ß°}¦C»P¦r¨å,¾Ç²ß¤è®×¦p¤U,½Ð«e½ú°Ñ¦Ò

...
Andy2483 µoªí©ó 2025-10-8 14:54


·PÁ«e½ú«üÂI

TOP

        ÀR«ä¦Û¦b : ¡i°µ¤Hªº¶}©l¡j¨C¤@¤Ñ³£¬O¬G¤Hªº¶}©l¡A¨C¤@­Ó®É¨è³£¬O¦Û¤vªºÄµ±§¡C
ªð¦^¦Cªí ¤W¤@¥DÃD