移动和选择行(Microsoft Excel)
James询问是否有键盘快捷键可向下移动一行并选择整行。在Excel中,无法通过单个击键来执行此操作,但是可以使用两次击键来执行此操作。您需要做的就是按下向下箭头,然后紧接着按Shift +空格键。
但是,如果您经常进行此类移动,那么您可能会对宏更感兴趣,该宏将两个步骤组合为一个可以由快捷键启动的步骤。以下宏将起作用:
Sub SelectRowDown1() If ActiveCell.Row < 65536 Then ActiveCell.Offset(1, 0).Select ActiveCell.EntireRow.Select End If End Sub
如果将其分配给快捷键(例如Ctrl + D),则每次按快捷键时,您将向下移动一行并被选中。但是,这种方法的问题在于,在运行宏之后,该行中的第一个单元格始终是活动单元格。这与您使用向下箭头,Shift +空格键移动和选择方法不同。
显然是EntireRow.Select方法导致第一个单元格被激活。要解决此问题,您需要做的就是确定您所在的列,然后激活该单元格。以下宏版本可以做到这一点:
Sub SelectRowDown2() If ActiveCell.Row < 65536 Then ActiveCell.Offset(1, 0).Select iCP = ActiveCell.Column ActiveCell.EntireRow.Select ActiveCell.Offset(0, iCP - 1).Activate End If End Sub
如果您对向上移动的宏感兴趣,可以使用此宏:
Sub SelectRowUp() If ActiveCell.Row > 1 Then ActiveCell.Offset(-1, 0).Select iCP = ActiveCell.Column ActiveCell.EntireRow.Select ActiveCell.Offset(0, iCP - 1).Activate End If End Sub
您可以将此宏分配给Ctrl + U快捷键,然后您的移动宏将完成。
如果您需要比这些宏更“强大”的功能,请查看Pearson Software Consulting Services的RowLiner加载项:
http://www.cpearson.com/excel/RowLiner.htm
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2106)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: