VBA可见单元格粘贴错误1004

我有一个VBA代码粘贴可见单元格时出现1004错误:

Range类的PasteSpecial方法失败

我可以注释掉粘贴,它会复制可见的单元格,所以我可以手动粘贴它们,但自动粘贴导致错误。 我已经确认表格名称是正确的,并尝试了各种types的粘贴特殊和正义。 .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 

任何人都可以提出解决scheme

ClearContents之前移动ClearContentsClearContents方法是一个清空剪贴板的操作。

 '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