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