電子書籍の厳選無料作品が豊富!

関数の入ったセルを切取りで貼付けたいのですが、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

A 回答 (3件)

For~Nextで繰り返していますが、どの段階のActiveSheet.Pasteがエラーになっているか確認しては?


一回目なのか、それ以降なのか等。
やり方としてはVBAのコードが入力されている直ぐ外側のグレーの部分をクリックすると、コードが茶色で塗りつぶされます(この場合だったら.Pasteで)。
この状態でマクロを実行すると、この茶色の手前で一旦停止します。
エラーが出なければ、VBAのツールバー内の「SUB/ユーザーフォームの実行」(ビデオの再生マークと同じ奴)をクリックして、エラーが出るまでこれを繰り返します。
そうやって、どんな状態でエラーを吐いているのか確認してみては?
(何とも言えませんが、セレクトの仕方に問題があるのかな?)
    • good
    • 0

質問者の、特殊なケース(やり方発想も我流であることも多い)のコードをそのまま貼り付けて、データがどういう状況か、何がしたいかも説明せずに、エラーが出た原因を教えろ、という書き方がこのコーナーで多いが、読者には状況がわからない。


回答者に読み解けというのでなく、
もっと、読者や回答者に追試が出来るような、模擬実例でも作って、それを質問に挙げて、質問するのが礼儀ではないかと思う。
    • good
    • 0

詳細が解らないので、何ともしようがありません



エラーの原因は、最初の検索の結果を切り取っているが
次の検索の時に解除されているため、何を貼り付けるものが無いと、言っています

エラーを回避するのは、難しくないのですが
そもそも、オートフィルタでは数式を検索することが出来ないので
意味の無いマクロだと思う


下記も参考にしてみてください
数式を置換する
http://www.moug.net/tech/exopr/0030013.htm

検索の仕方
http://home.att.ne.jp/zeta/gen/excel/c04p42.htm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています