• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL2002でRange.Copyでエラー)

EXCEL2002でRange.Copyでエラー

このQ&Aのポイント
  • OSがWINDOWS XPの環境でEXCEL2002で既存の入力用のシートAとマクロで追加して削除するワーク用に2つのシートB,Cがあるのですが、ワーク用のシートに下記コマンドを実行するとエラーなります。
  • EXCEL2003では問題なく動くのですが、EXCEL2002しか入っていない環境もあるのでご教授して頂ければ助かります。
  • Sheets("A").Range("d10:d60").Copy Sheets("B").Range("a1") Sheets("A").Range("h10:h60").Copy Sheets("B").Range("51") Sheets("A").Range("e10:e60").Copy Sheets("C").Range("a1") Sheets("A").Range("i10:i60").Copy Sheets("C").Range("51")

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 仮に値だけのコピーならば以下の方法は如何でしょうか。 因みコピー元サイズ(61行)が誤っていると思いましたので変更しています。 With Sheets("a") Sheets("B").Range("a1").Resize(51) = .Range("d10:d60").Value Sheets("B").Range("a52").Resize(51) = .Range("h10:h60").Value Sheets("C").Range("a1").Resize(51) = .Range("e10:e60").Value Sheets("C").Range("a52").Resize(51) = .Range("i10:i60").Value End With

090303kan
質問者

お礼

mu2011様 お礼が遅くなり申し訳ありません。 ありがとうございました。 無事動きました。 以上 ありがとうございます。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>EXCEL2003では問題なく動く  ⇒ご例示コードのSheets("B").Range("51")、Sheets("C").Range("51")はセル不正です。   エクセル2003でも動作しないと思いますが如何でしょうか。

090303kan
質問者

お礼

mu2011様 ご指摘ありがとうございます。 エラーになるとの記述で実際に動かないコードを乗せ申し訳ありません。 失礼しました。 以上です。

090303kan
質問者

補足

ご指摘ありがとうございます。 EXCEL2003で動き、EXCEL2002ではエラーとなるのは下記の場合です。 Sheets("A").Range("d10:d60").Copy Sheets("B").Range("a1) Sheets("A").Range("h10:h60").Copy Sheets("B").Range("a51") Sheets("A").Range("e10:e60").Copy Sheets("C").Range("a1) Sheets("A").Range("i10:i60").Copy Sheets("C").Range("a51") 申し訳ありませんでした。

関連するQ&A