VBAで元コードの実行は何のエラーもありませんが、
同条件の再利用コードの実行はエラーがでます。
概要は
ピボットででた結果をVBAを使って別シートに貼り替える、
その際ピボット見出しが"(空白)"となっていたらその行を削除する
というものです。
エラー内容は
「ピボットテーブルのレポートの一部を移動したり?できません」ステップインで確認
「Rangeクラスのselectメソッドが失敗しました」ステップインで確認(selectに変えて実験)
「実行時エラー1004 アプリケーション定義エラー、オブジェクト定義エラー」 最終的なエラー
Sub 元コード()
sh.Cells.Clear
Worksheets("やさい").Cells.Copy
sh.Range("A1").PasteSpecial Paste:=xlPasteValues
Maxrow = sh.Cells(Rows.Count, 1).End(xlUp).Row
MaxCol = sh.Cells(2, Columns.Count).End(xlToLeft).Column
For i = 3 To Maxrow
If sh.Cells(i, 1) = "(空白)" Then
Rows(i).Delete
End If
Next i
Sub 元コードの再利用()
sh.Cells.Clear
Worksheets("くだもの").Cells.Copy
sh.Range("A1").PasteSpecial Paste:=xlPasteValues
Maxrow = sh.Cells(Rows.Count, 1).End(xlUp).Row
MaxCol = sh.Cells(2, Columns.Count).End(xlToLeft).Column
For i = 3 To Maxrow
If sh.Cells(i, 1) = "(空白)" Then
Rows(i).Delete
End If
Next i