我需要声明一个相对于事件单元格的范围对象。问题是,每次宏运行时,我要选择的行数和列数都不同。

例如,我有两个变量:numRowsnumCols

我要选择一个区域,该区域的左上角有ActiveCell,单元格的右下方有ActiveCell.Row + NumRows行,而ActiveCell.Column + NumCols列在右下角(然后我打算将此数据复制到数组中)加快我的宏)。

有关如何执行此操作的任何建议?

最佳答案

Range类上有一个.Offset property,它允许您执行所需的操作
ActiveCell.Offset(numRows, numCols)
跟进评论:

Dim newRange as Range
Set newRange = Range(ActiveCell, ActiveCell.Offset(numRows, numCols))

您可以通过MsgBox newRange.Address进行验证

here's how to assign this range to an array

09-16 00:32