选择相对于当前单元格的单元格范围(Microsoft Excel)
有时,在宏中选择相对于当前所选单元格的单元格会有所帮助。例如,假设您要选择当前行的前三个单元格。您可以使用以下VBA代码来做到这一点:
Range(Cells(Selection.Row, 1), Cells(Selection.Row, 3)).Select
Cells属性返回一个对象,该对象代表工作表的特定行和列(单个单元格)。在这种用法中,“单元”被使用两次来确定特定范围的单元。第一个实例返回当前行的第一个单元格,而第二个实例返回当前行的第三个单元格。因此,该范围成为当前行的第一到第三单元格。
您可以使用Offset属性完成许多相同的任务,而不必使用Cells属性指定位置。考虑以下代码:
Range(ActiveCell.Offset(-3, 5), ActiveCell.Offset(0, 10)).Select
这使用ActiveCell对象的Offset属性来指定相对于当前所选单元格的范围。 Offset属性采用一个表示偏移量的行和列的参数。负值表示上(对于行)和左(对于列)。正值向下(对于行),向右(对于列)。您也可以使用值0,它代表当前行或列。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(11402)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: