从特定单元格复制整行

时间:2015-05-20 09:45:05

标签: excel excel-vba vba

我对vba比较新。我在从特定单元格复制行时遇到问题。也就是说,如果我的单元格位置在D5,那么它应该将整个行从该单元格位置复制到表单2中的单个单元格。我需要复制的总单元格的计数。

提前致谢。

2 个答案:

答案 0 :(得分:0)

假设activecell是感兴趣的单元格,要复制行上的所有单元格,您可以使用:

StartCol = ActiveCell.End(xlToLeft).Column
EndCol = ActiveCell.End(xlToRight).Column
mRow = ActiveCell.Row
Set mRange = Range(Cells(mRow, StartCol), Cells(mRow, EndCol))
mRange.Copy Destination:=Range("A20") 'Insert your destination instead of "A20"

如果您需要插入特定的单元格值,可以使用Range("your address")Cells(RowNumber, ColumnNuber)代替ActiveCell。

您还可以使用字符串变量包含Range中的地址,例如:

mAddress = "D5"
StartCol = Range(mAddress).End(xlToLeft).Column
EndCol = Range(mAddress).End(xlToRight).Column
mRow = Range(mAddress).Row
Set mRange = Range(Cells(mRow, StartCol), Cells(mRow, EndCol))
mRange.Copy Destination:=Range("A20") 'Insert your destination instead of "A20"

更改mAddress的值,您将拥有所需的内容

编辑: 这是从D4复制到行尾

mAddress = "D4"
StartCol = Range(mAddress).Column
EndCol = Range(mAddress).End(xlToRight).Column
mRow = Range(mAddress).Row
Set mRange = Range(Cells(mRow, StartCol), Cells(mRow, EndCol))
mRange.Copy Destination:=Range("A20")

答案 1 :(得分:0)

此外,在您的初始问题中,您询问细胞计数。为了计算这个,你只需要使用这一行:

cellCount = endCol - startCol + 1