返回列表 上一主題 發帖

[發問] 求助填入專案編號

回復 1# xandertco
試試吧
  1. Sub Test()
  2.     Dim r1 As Long, r2 As Long
  3.    
  4.     Application.ScreenUpdating = False

  5.     With Sheets("生產領退料明細表")
  6.         r1 = .Cells(.Rows.Count, "A").End(xlUp).Row - 1  '[合計]的上面一列
  7.         
  8.         ' A9 到 A680 中為常數文字的儲存格
  9.         With .Range(.[A9], .Cells(r1, "A")).SpecialCells(xlCellTypeConstants, xlTextValues)
  10.             For Each x In .Cells
  11.                 '對非製令單號的列
  12.                 If x.Value <> "製令單號" Then
  13.                     With Sheets("專案編號")
  14.                         .AutoFilterMode = False '取消自動篩選
  15.                         r2 = .Cells(.Rows.Count, "A").End(xlUp).Row     '以A欄找最大列數
  16.                         .Range("A1:B" & r2).AutoFilter Field:=1, Criteria1:=x.Value     '以x單號去篩選
  17.                         .Range("B2:B" & r2).SpecialCells(xlCellTypeVisible).Copy        '複製B欄可見欄
  18.                     End With
  19.                     x.Offset(, 16).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, Transpose:=True   '轉置貼上到Q欄右方
  20.                 End If
  21.             Next
  22.         End With
  23.     End With
  24.    
  25.     Application.ScreenUpdating = True
  26. End Sub
複製代碼

TOP

回復 4# Hsieh
學習了,這代碼好多了,
的確應該盡量少用複製貼上比較好。

TOP

        靜思自在 : 忘功不忘過,忘怨不忘恩。
返回列表 上一主題