您好我有复制特定行的代码并将其粘贴到特定列中 代码是
Range(rng, rng.End(xlToRight)).copy
Columns(c).Offset(, 6).PasteSpecial Transpose:=True
工作正常 但是当我想从特定列i的2个单元格开始粘贴它时,e
Range(rng, rng.End(xlToRight)).copy
Columns(c).Offset(2, 6).PasteSpecial Transpose:=True
它正在给予
“对象定义的错误”
请帮帮我
答案 0 :(得分:2)
这应该有效:
Cells(2, Cells(1,Columns(c).Column).offset(,6).Column).PasteSpecial Transpose:=True
在上面的内容中,您要按Cells(2,
选择第2行,在Columns(c).Column).Offset(,6).Column)
Columns(c).Offset(2,6)
不起作用的原因是因为你告诉excel将Entire Column
偏移2行,你不能这样做,因为它会有效地将数据从工作表中删除。
对于给定数量的列,您可以偏移EntireColumns
,对于给定的行数,可以偏移EntireRows
,但不能按行EntireColumns
和按列EntireRows
偏移{{1}}。
答案 1 :(得分: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