2017-02-11 68 views
1

我有粘贴可见细胞时所得到一个1004错误VBA代码:VBA可见细胞浆料错误1004

Range类的PasteSpecial方法失败

我可以注释掉膏它会复制可见单元格,以便我可以手动粘贴它们,但自动粘贴会导致错误。我已经确认表单名称是正确的,并且已经尝试了各种类型的特殊粘贴,只是.Paste

这是我的代码:

'Copies Column A visible rows 
Sheets("Sheet1").Range("$A$2:$A$" & lastRow).SpecialCells (xlCellTypeVisible).Copy 

'Empties sheet 
Sheets("Sheet2").Cells.ClearContents 

'Pastes to sheet2 
Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValues 

任何人都可以提出一个解决办法?

+0

如果工作簿尚未保存,则可能会发生此错误。尝试保存并粘贴值。 http://stackoverflow.com/questions/17281872/error-pastespecial-method-of-range-class-failed – Matts

回答

3

Copy之前移动ClearContents - ClearContents方法是清空剪贴板的操作。

'Empties sheet 
Sheets("Sheet2").Cells.ClearContents 

'Copies Column A visible rows 
Sheets("Sheet1").Range("$A$2:$A$" & lastRow).SpecialCells(xlCellTypeVisible).Copy 

'Pastes to sheet2 
Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValues 
+0

http://stackoverflow.com/questions/13988783/range-clearcontents-clears-the-system-clipboard-解决方法-vba-excel –

+0

你是我的英雄。这固定了它。 – Katie