• ベストアンサー

Excelで異なるシートの内容を1つのシートに

初心者です。 Excelで、行列数異なるシートBとシートCの内容を、単純にシートAに1つにする場合 マクロではどのように書けばよいのでしょうか?? 宜しくお願いしますm(__)m

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

  • ベストアンサー
  • jacob-wk9
  • ベストアンサー率36% (85/231)
回答No.3

お返事ありがとうございます。 今、ちょっと時間がないので、基本だけ貼り付けます。 実際には、どこまでの範囲までデータが入っているかよくわからないというケースだと思いますので どこまでを範囲指定するか、というもう少し応用編なプログラムが入りますが あとはできたら、他の人にお任せしたいと思います。 Worksheets("Sheet3").Range("A1:E4").Value = Worksheets("Sheet1").Range("A1:E4").Value Worksheets("Sheet3").Range("A5:C6").Value = Worksheets("Sheet2").Range("A1:C2").Value

hyodoru
質問者

お礼

ありがとうございます!本当に助かります!

その他の回答 (2)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

「初心者」なら無理にマクロに手を伸ばさずに手動でどうぞ。 マクロは基本機能をある程度使えるようになってからで遅くありませんから。 さて、エクセルの基本情報に「マクロの記録」と言うものがあります。 記録状態にしてエクセルを操作すると、その操作をマクロに落としたものを記録してくれます。 つまり、記録状態にして「Bをコピー、Aに貼付」・「Cをコピー、Aに貼付」と操作してみましょう。 そうすると、マクロ(VBA)ではどのように書いたらいいのか確認できます。 もう一つ、初心者ならなおさらですが、安易に人に聞くより自分で調べた方が身に付きますよ。

  • jacob-wk9
  • ベストアンサー率36% (85/231)
回答No.1

基本はこれで。 Sub test() Worksheets("シートA").Range("A1").Value = Worksheets("シートB").Range("A1") Worksheets("シートA").Range("A2").Value = Worksheets("シートC").Range("A1") End Sub

hyodoru
質問者

補足

ありがとうございます! …本当にど素人で申し訳ないのですが、 以下のようなものをイメージしてます。 <シートB> A B C D E 1 BA1 BB1 BC1 BD1 BE1 2 BA2 BB2 BC2 BD2 BE2 3 BA3 BB3 BC3 BD3 BE3 4 BA4 BB4 BC4 BD4 BE4 <シートC> A B C 1 CA1 CB1 CC1 2 CA2 CB2 CC2 ↓(マクロ) <シートA> A B C D E 1 BA1 BB1 BC1 BD1 BE1 2 BA2 BB2 BC2 BD2 BE2 3 BA3 BB3 BC3 BD3 BE3 4 BA4 BB4 BC4 BD4 BE4 5 CA1 CB1 CC1 6 CA2 CB2 CC2 いただいた回答で、応用すればよいでしょうか?? よろしくお願いします!