0

こんにちは私は特定の行をコピーして特定の列に貼り付けるためのコードを持っていますコードは

 Range(rng, rng.End(xlToRight)).copy
 Columns(c).Offset(, 6).PasteSpecial Transpose:=True

正常に動作していますが、特定の列の2つのセルから貼り付け始めたい場合は、

 Range(rng, rng.End(xlToRight)).copy
 Columns(c).Offset(2, 6).PasteSpecial Transpose:=True

「オブジェクト定義エラー」を出している

私を助けてください

4

2 に答える 2

2

行ごとに列をオフセットすることはできません。列は常に全体です。セルをオフセットする必要があります。

Columns(c).cells(1).Offset(1, 6).PasteSpecial Transpose:=True

また

Columns(c).cells(2).Offset(, 6).PasteSpecial Transpose:=True

また

Columns(c).cells(2, 7).PasteSpecial Transpose:=True

また

cells(2, c+6).PasteSpecial Transpose:=True
于 2012-11-02T13:49:40.613 に答える
2

これはうまくいくはずです:

Cells(2, Cells(1,Columns(c).Column).offset(,6).Column).PasteSpecial Transpose:=True

上記の ling では、Row 2 byCells(2,と c が by の右側にある 6 列を選択しています。Columns(c).Column).Offset(,6).Column)

Columns(c).Offset(2,6)うまくいかない理由Entire Columnは、ワークシートからデータを効果的に押し出すため、2行ずつオフセットするようにExcelに指示しているためです。

EntireColumns特定の列数と特定の行数をオフセットできますが、行と列でオフセットすることはできEntireRowsません。EntireColumnsEntireRows

于 2012-11-02T13:47:23.630 に答える