私は非常に単純なことをしようとしていますが、行き詰まっているようです。のヘルプ メニューに従っていますPasteSpecial
が、コードをエラーなしで動作させることができないようです。
Worksheets("Sheet1").Range("A1","A5")
トランスポーズを に貼り付けたいWorksheets("Sheet2").Range("A1","E1")
。
これを達成するための最も簡単な方法は何ですか?
Worksheets("Sheet1").Range("A1:A5").Copy
Worksheets("Sheet2").Range("A1").PasteSpecial Transpose:=True
WorksheetFunction Transpose()
PasteSpecial を使用してコピー、貼り付け、Transpose
オプションを使用する代わりに、数式を入力するだけです。
=TRANSPOSE(Sheet1!A1:A5)
または、VBA を好む場合:
Dim v
v = WorksheetFunction.Transpose(Sheet1.Range("A1:A5"))
Sheet2.Range("A1").Resize(1, UBound(v)) = v
注:あるいは、代わりに遅延バインドを使用することもできますApplication.Transpose
。
MS ヘルプ リファレンスには、現在のバージョンのMicrosoft 365があれば、対象範囲の左上のセルに数式を入力するだけでよいと書かれています。それ。
バージョン Excel バージョン。2007 年以降、2011 年以降の Mac、Excel for Microsoft 365