• ベストアンサー

アクティブにせず行列を入れ替えて貼付け

マクロを勉強中のものです Sheet1のE1:E5をコピーし Sheet2のC列の入力済最終セルの一つ下に行列を入れ替えて貼付けたいです (しかしSheet2はアクティブにせず処理させたです) どうか、これが可能なマクロを教えてください。

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

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

訂正です。C列最終行が目安でしたね。     Sheets("Sheet1").Range("E1:E5").Copy     Sheets("Sheet2").Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlAll, Transpose:=True ですね。

yumepapa18
質問者

お礼

思い通りのものが出来ました ありがとうございました。

その他の回答 (2)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

私も一例ですが。。。 ●Sheet1 が必ずアクティブな場合 Sheets("Sheet2").Cells(Rows.Count, 3).End(xlUp).Offset(1).Resize(, 5) = _ [TRANSPOSE(E1:E5)] ●Sheet1 がアクティブとは限らない場合 Sheets("Sheet2").Cells(Rows.Count, 3).End(xlUp).Offset(1).Resize(, 5) = _ Application.Transpose(Sheets("Sheet1").Range("E1:E5"))

yumepapa18
質問者

お礼

アクティブと限らない場合も可能なんですね 現在勉強しながらVBA作成中なので参考にさせてもらいます ありがとうございました。

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

当然、もっと良い書き方もあるでしょうが、一例として     Sheets("Sheet1").Range("E1:E5").Copy     Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlAll, Transpose:=True こんな感じでしょうか。

関連するQ&A