- 締切済み
マクロでのActiveSheet.Pasteでのデバック
関数の入ったセルを切取りで貼付けたいのですが、ActiveSheet.Pasteのところで"WorksheetクラスのPasteメソッドが失敗しました.”のデバッグになってしまいます。対応を教えていただけないでしょうかお願い致します。 Sub susiki() Columns("A:J").Select Selection.AutoFilter Selection.AutoFilter Field:=6, Criteria1:="AG" Dim kirix As Integer, kiriy As Integer Dim kiriz As Long kiriy = Range("A:A").Column kiriz = Range("F1").End(xlDown).Row For kirix = 1 To kiriy Range(Cells(kiriz, kirix), Cells(kiriz, kirix)).Select Selection.CurrentRegion.Select Selection.Cut Next kirix Selection.AutoFilter Field:=6, Criteria1:="DB" Dim harix As Integer, hariy As Integer Dim hariz As Long hariy = Range("A:A").Column hariz = Range("F1").End(xlDown).Row For harix = 1 To kiriy Range(Cells(hariz, harix), Cells(hariz, harix)).Select ActiveSheet.Paste Next harix Selection.AutoFilter End Sub
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ae-1sp
- ベストアンサー率41% (226/546)
For~Nextで繰り返していますが、どの段階のActiveSheet.Pasteがエラーになっているか確認しては? 一回目なのか、それ以降なのか等。 やり方としてはVBAのコードが入力されている直ぐ外側のグレーの部分をクリックすると、コードが茶色で塗りつぶされます(この場合だったら.Pasteで)。 この状態でマクロを実行すると、この茶色の手前で一旦停止します。 エラーが出なければ、VBAのツールバー内の「SUB/ユーザーフォームの実行」(ビデオの再生マークと同じ奴)をクリックして、エラーが出るまでこれを繰り返します。 そうやって、どんな状態でエラーを吐いているのか確認してみては? (何とも言えませんが、セレクトの仕方に問題があるのかな?)
- imogasi
- ベストアンサー率27% (4737/17069)
質問者の、特殊なケース(やり方発想も我流であることも多い)のコードをそのまま貼り付けて、データがどういう状況か、何がしたいかも説明せずに、エラーが出た原因を教えろ、という書き方がこのコーナーで多いが、読者には状況がわからない。 回答者に読み解けというのでなく、 もっと、読者や回答者に追試が出来るような、模擬実例でも作って、それを質問に挙げて、質問するのが礼儀ではないかと思う。
- hige_082
- ベストアンサー率50% (379/747)
詳細が解らないので、何ともしようがありません エラーの原因は、最初の検索の結果を切り取っているが 次の検索の時に解除されているため、何を貼り付けるものが無いと、言っています エラーを回避するのは、難しくないのですが そもそも、オートフィルタでは数式を検索することが出来ないので 意味の無いマクロだと思う 下記も参考にしてみてください 数式を置換する http://www.moug.net/tech/exopr/0030013.htm 検索の仕方 http://home.att.ne.jp/zeta/gen/excel/c04p42.htm