• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Range コピーの エラーについて)

Range コピーの エラーについて

このQ&Aのポイント
  • 下記コードの箇所でコードが黄色になってエラーメッセージがだされました。Sheets("Sheet12").Range("A1:B" & (Zn2 * Xn2 - Zn1 * Xn2)) _= Sheets("Sheet9").Range("B" & (Zn1 * Xn2) & ":C " & (Zn2 * Xn2))
  • 単純にシート9のレンジ範囲を読み取ってシート12にコピーするコードです。デバッグを走らせて Zn2=18 Xn2=56 Zn1=12 各変数が上記式が黄色になっているときにマウスをあてて読み取った数値です。この変数が読み取れるということは、エラーがこの構文にあることを示しているのですが、原因がわかりません。
  • エラーコードは実行時エラー1004です。Sheet12 はシート全体が空白のまま。Sheet9 はB,C列に数値が3行目から始まって1772行目まで数値が格納されています。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 極めて単純なミスだと思います。 >Range("B" & (Zn1 * Xn2) & ":C " & (Zn2 * Xn2)) ":C "  ↓ ":C" ←スペースが入っています。 ただ、Range オブジェクトの中で計算する方法は、ミスの基です。 変数として外に出して、計算してから、代入してください。 また、配列で、コピーする方法の場合、そういう書き方はややこしいです。Copy & Paste または、PasteSpecial で行ったほうが確実だと思います。

catshoes01
質問者

お礼

ご指摘ありがとうございました。おかげさまで動きました。 アドバイスにも感謝します。

その他の回答 (1)

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.2

下記式で、 Sheets("Sheet12").Range("A1:B" & (Zn2 * Xn2 - Zn1 * Xn2)) Zn2 * Xn2 - Zn1 * Xn2 に  Zn2=18 Xn2=56 Zn1=12を代入すると -2128=18*56-56*56 になります。 こんな セルは、ないですよね。 だから エラーになります。 式を再検討ですね。

catshoes01
質問者

お礼

アドバイスありがとうございます。 #1さんのご指摘で動きました。(^^;)

関連するQ&A