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及更高版本)找到本技巧的版本: