2017-02-11 8 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メソッドは、クリップボードを空にする操作です。

'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