我对vba比较新。我在从特定单元格复制行时遇到问题。也就是说,如果我的单元格位置在D5,那么它应该将整个行从该单元格位置复制到表单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