Vba 用于粘贴行的columns属性

Vba 用于粘贴行的columns属性,vba,excel,Vba,Excel,您好,我有复制特定行并将其粘贴到特定列的代码 代码是 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 它是给予 “对象定义

您好,我有复制特定行并将其粘贴到特定列的代码 代码是

 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
它是给予 “对象定义错误”

请帮帮我这应该行得通:

Cells(2, Cells(1,Columns(c).Column).offset(,6).Column).PasteSpecial Transpose:=True
在上面的行中,您通过
单元格(2,
选择第2行,并通过
列(c).Column.Column.Offset(,6).Column)选择c右边的6列

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

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

这应该有效:

Cells(2, Cells(1,Columns(c).Column).offset(,6).Column).PasteSpecial Transpose:=True
在上面的行中,您通过
单元格(2,
选择第2行,并通过
列(c).Column.Column.Offset(,6).Column)选择c右边的6列

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


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

不能逐行偏移列,列始终是完整的。应该偏移一个单元格

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


不能逐行偏移列,列始终是完整的。应该偏移一个单元格

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


我真的认为,
Cells(1,Columns(c)。Column)。offset(,6)。Column
并不是一个简单的表达
c+6
的方式,我同意,除非我碰巧知道
c
是作为字母传递的,而不是数字,所以这不起作用。我知道
c
作为列字母(string)传递,因为我已经看到@M_S_SAJJAN code了好几天了。我真的认为
单元格(1,Columns(c).column.offset(,6).column
不是一种简单的表达
c+6
的方式,但我碰巧知道
c
作为字母传递,而不是一个数字,所以这不起作用。我知道
c
是作为列字母(字符串)传递的,因为我已经看到@M_S_SAJJAN code了好几天了。
cells(2, c+6).PasteSpecial Transpose:=True