2013-06-25 115 views
1

下面是我的代碼如下。如何複製粘貼來自過濾範圍的特定單元格

Sub AddExistingItemToRWP() 
Dim AddRow As Integer 
Dim eLastRow As Integer 
AddRow = Worksheets("Recipe Workarea-Product").Range("A" & Rows.Count).End(xlUp).Row 
eLastRow = Worksheets("Additional Existing Raw Mat.").Range("A" & Rows.Count).End(xlUp).Row 
Dim Rng As Range 
Sheets("Additional Existing Raw Mat.").Select 
Set Rng = ActiveSheet.AutoFilter.Range 
With Sheet12 
    With .Range("$A$1:K" & eLastRow) 
     .AutoFilter Field:=11, Criteria1:=("Y") 
     .SpecialCells (xlCellTypeVisible) 
     .Offset(1, 0) _ 
     .Copy Destination:=Sheet8.Range("H" & AddRow + 1) 
     .PasteSpecial Paste = xlPasteValues 

    End With 
End With 
AutoFillCols (AddRow) 
Sheets("Additional Existing Raw Mat.").Select 
End Sub 

.pastespecial單元格似乎不工作。這是什麼正確的語法?

+0

它的工作原理,但它會返回一個錯誤,因爲「粘貼」爲空。我如何忽略這個錯誤? –

回答

1

四件事情:

  1. .SpecialCells(xlCellTypeVisible)返回到一個範圍的引用,但你不使用它
  2. 不能Destination:= ....PasteSpecial一個Copy都使用。選一個。
  3. 你的意思.PasteSpecial Paste:=xlPasteValues沒有.PasteSpecial Paste = xlPasteValues
  4. 您激活和過濾片"Additional Existing Raw Mat.",則是指一個過濾器上Sheet12。你確定這是正確的嗎?

更新: 如何使用複製PasteSpecial的

.Copy 
Sheet8.Range("H" & AddRow + 1).PasteSpecial Paste:=xlPasteValues 
+0

謝謝你的回答。那麼如何從工作表中複製一系列過濾後的單元格,並使用.PasteSpecial將其粘貼到另一個工作表?對不起,我對vba編程知之甚少。 –

1

我終於得到了解決我的問題。這是我的代碼:

Sub AddExistingItemToRWP() 
Dim AddRow As Integer 
Dim eLastRow As Integer 
AddRow = Worksheets("Recipe Workarea-Product").Range("A" & Rows.Count).End(xlUp).Row 
eLastRow = Worksheets("Additional Existing Raw Mat.").Range("A" & Rows.Count).End(xlUp).Row 

Dim Rng As Range 

Sheets("Additional Existing Raw Mat.").Select 
Set Rng = ActiveSheet.AutoFilter.Range 
With Sheet12 
    With .Range("$A$1:K" & eLastRow) 
     .AutoFilter Field:=11, Criteria1:=("Y") 
     .SpecialCells(xlCellTypeVisible).Select 
     Selection.Offset(1, 0).Copy 
     Sheets("Recipe Workarea-Product").Select 
     Range("H" & AddRow + 1).Select 
     Selection.PasteSpecial Paste:=xlPasteValues 

    End With 
End With 

AutoFillCols (AddRow) 
Sheets("Additional Existing Raw Mat.").Select 

End Sub 
相關問題