如何从活动单元格中select未知范围?

我有一个数据块和空行之间的电子表格。 块大小不一。 我有一个公式,自动填充原始数据,然后将其复制到其他空行,直到它到达下一个块。 我如何得到它select下一个数据块,以便我的循环可以工作,因为块的大小总是在变化? 什么是理想的是某种当前区域属性,排除活动单元格后面的数据,因为当前状态中的循环将活动单元格作为每个迭代结束时新块中的第一个单元格。

每当我必须循环的东西,需要从区域移动到区域,我最终使用偏移(如范围(myRange).Offset(1,0)),通常是一个.End修改,以确保我总是在范围的末尾。 作为一个例子(伪代码)。

Dim lastCell As Range Dim neededCell As Range Set lastCell = ActiveRange.End(xlDown) 'picks the last cell down Set neededCell = lastCell.Offset(2, 0) returns the cell two rows down from the last cell in above range. 

警告,我正在做我的头顶,这可能需要一些调整,以实际工作…此外,还有xlLeft,xlRight和clup,如果你需要去那些方向。

另外,如果你需要select一个新的范围,你可以通过简单地select一个偏移范围。 我的代码可能有点肮脏(还是新的),但这应该工作。

 Dim bigRange as Range Set bigRange = ActiveSheet.Range(neededCell.Address & ":" & _ neededCell.Offset(20, 20).Address) 

如果您在“D5”处以neededCell开始,则返回范围“D5:X25”