• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA 別シート間の列のコピー&ペースト)

エクセルVBA 別シート間の列のコピー&ペースト

このQ&Aのポイント
  • エクセルVBAを使用して、別のシート間で列のコピー&ペーストを行いたいですがうまくいきません。
  • 変数iとjには期待通りの値が代入されていますが、Worksheets関数を使用してもコピー&ペーストができません。
  • 貼り付け先(Destination)の記述が間違っているのかどうかわかりません。お助けください!

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

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.6

横から失礼致します。 回答No.2の最後と回答No3のお礼の組み合わせでいかがでしょうか。 Worksheets("Sheet1").Activate Worksheets("Sheet1").Range(Columns(i), Columns(j)).Copy Worksheets("Sheet2").Range("C1") です。 Excel2003と2007で検証しました。

rko910
質問者

お礼

お礼が遅れて申し訳ございません! 検証までしていただき、身に余る光栄でございます。 教えていただいた方法でも上手くいきました。ありがとうございます。 しかし、どのやり方でもSheet2にコードを書くとうまくいきませんでした。 まあ、これはそんなに大きな問題ではありませんので、良しとします。 どうもありがとうございました!

その他の回答 (5)

  • TAKA_R
  • ベストアンサー率32% (26/79)
回答No.5

no.4さんのでシート1がactivateされていなくても、コピーできると思います。 シート1のコマンドボタンだから・・・と言っても、 よそのシートを開いたり よそのシートに書き込んだり、 ほかのブックを開いてみたり、 何かするとよそのシートがactivateされてしまいます。

rko910
質問者

お礼

お礼が遅れて申し訳ございません。 おっしゃる通りでした!Activateをしなくても上手くいきましたし、もちろんActivateしても同じ結果です。 どうもありがとうございました。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

Range(Worksheets("Sheet1").Columns(i), Worksheets("Sheet1").Columns(j)).Copy Destination:= _ Worksheets("Sheet2").Columns("C") ではどうでしょうか。

rko910
質問者

お礼

お礼が遅くなって申し訳ございません。 わたくしが、シート1にコマンドボタンがある、と書きましたが、コマンドボタンはシート2でした。 シート1にコマンドボタンを移したところ、上手くいきました! どうもありがとうございました!

  • TAKA_R
  • ベストアンサー率32% (26/79)
回答No.3

たびたび、すいません。 ひょっとしてコピー貼り付け先のシートがactivateされていませんか? コピー元のシートがactivate状態で実行したら、同じようなエラーが出てたので・・・。

rko910
質問者

お礼

回答ありがとうございます! Copyの直前に ActiveSheet.Name にて、アクティブシート名を取得してみたところ、 Sheet2と出ました。ちなみにこのコードは、シート1のコマンドボタンにて動くようになっています。 Copyの前にWorksheets("Sheet1").Activate としても、同様のエラーです。。。

  • TAKA_R
  • ベストアンサー率32% (26/79)
回答No.2

いけないのかどうかは分かりませんが、 range(columns("c"))を range(columns("c:c")) または range(columns(3)) はたまた range("c1") にするとうまくいくかと思います。

rko910
質問者

お礼

やはり、私の書いたコードと同じエラーが出てしまいました。 候補をたくさん教えていただき、ありがとうございました。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

Worksheets("Sheet1").Range(Columns(i), Columns(j)).Copy Destination:= _ Worksheets("Sheet2").Columns("C") としてみてはどうでしょうか。

rko910
質問者

お礼

私の書いたコードと同じく、 アプリケーション定義またはオブジェクト定義のエラーです。 と出てしまいました。 早速のご回答、ご回答ありがとうございます。