• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでオートフィルタ抽出後コピペ)

VBAでオートフィルタ抽出後コピペ

このQ&Aのポイント
  • VBA初心者の方が、『工事台帳シート』からオートフィルタで抽出したデータを『工事別表示シート』にコピペするためのVBAコードを作成しました。
  • しかし、実行時にエラーが発生し、コピー領域と貼り付け領域の形が違うため情報を貼り付けることができませんというエラーメッセージが表示されます。
  • コピー領域と貼り付け領域の形や結合は問題ありませんが、何か別の原因が考えられます。詳しい方に教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

原因は、この「.Range("F5:J65536").Copy」の部分の65536です。 コピーした範囲は65532行あるのに、貼り付け先がB11であるから、65526行分しか貼り付け出来ないというエラーとなっているのです。 Sheets("工事別表示").Range("B11").PasteSpecial Paste:=xlPasteValues のB11をB5に変更すれば問題ないのですが、様式を変更せずにするには、65536ではなく、最終行をちゃんと取得してあげればOKです。 で、B列で最終行を取得する場合、 「.Range("F5:J65536").Copy」の部分を以下の様に修正すればOKです。 .Range("F5:J" & .Range("B65536").End(xlUp).Row).Copy

yunako0517
質問者

お礼

>65536ではなく、最終行をちゃんと取得してあげればOKです。 分かりました。 出来ました~!(^^)! ありがとうございました!

関連するQ&A