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

这应该有效:

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

在上面的 ling 中,您选择第 2 行Cells(2,和第 6 列到 c 的右侧Columns(c).Column).Offset(,6).Column)

Columns(c).Offset(2,6)不起作用的原因是因为您告诉 excel 偏移Entire Column2 行,但您不能这样做,因为它会有效地将数据从工作表中推出。

您可以偏移EntireColumns给定数量的列和EntireRows给定的行数,但不能EntireColumns按行和EntireRows按列。

于 2012-11-02T13:47:23.630 回答
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 回答