在早期版本的Excel中,在工作表中按下CTRL + A会选择所有单元格。但是在Excel 2010中(不确定2007或2003),我注意到如果您在包含值的单元格块内按下CTRL + A,则它似乎知道只选择该块中的单元格。例如,如果A1:D10范围内的所有单元格都包含值,并且您在该范围内活动单元格时按下CTRL + A,则仅选择A1:D10。如果再次按下CTRL + A,则将选择整个工作表中的所有单元格。
因此,我录制了一个宏来查看当我这样做时生成的宏代码,但是当我按下CTRL + A时,它实际上会写入Range("A1:D10").Select
。这很局限而且不够动态,因为现在我必须编写自己的逻辑来确定活动单元格周围的边界。使用像ActiveCell.End(xlDown)
之类的方法并不困难,但我不想在这里重新发明轮子。
是否有像ActiveCell.GetOuterRange.Select
这样的Excel VBA方法?那就太好了。