2011-10-04 09:18:12 +0000 2011-10-04 09:18:12 +0000
6
6

Excel 2007中如何将选区向下移动一行?

有没有办法把选中的范围移动到下一行?

假设我选中了 “E9:H9",想把选中的范围移动到 "E10:H10"。有什么快捷方式吗?选区不应该被扩展,而是向下移动一行。

答案 (4)

12
12
12
2011-10-04 13:29:40 +0000

听起来你只需要这样的东西。

Sub moveselection()

Selection.Offset(1, 0).Select

End Sub

这将使你的选区向下移动一行而不改变选区的大小。

3
3
3
2011-10-05 05:56:01 +0000

(a) 这段代码并没有按照问题

向下移动一行 (b) 它只对选择的第一行有效,你想让它对多行选择有效吗?

© 与其调用一个子程序,你可以通过右击鼠标自动运行它–你可以通过右击你的工作表选项卡,查看代码,然后粘贴下面的代码来实现

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    Range("E" & CStr(Selection.Row) & ":" & "GN" & CStr(Selection.Row)).Select
End Sub
```。
1
1
1
2016-06-19 06:32:34 +0000

一个使用命名参数的替代方法,因此更加清晰,就像这样。

ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

正的rowOffset将选区向下移动,负的rowOffset向上移动指定的行数,零的偏移量则保持选区所在行不变。

同样,正的偏移量会将选区向右移动,而负的偏移量会将选区向左移动。当然,零会使列保持不变。

参见 Range.Offset 属性 (Excel)

有两个相关的发现可能会让未来的访问者感兴趣。

1.执行以下操作插入一列。Selection.EntireColumn.Insert并且要小心Range.Insert,它至少在某些情况下会引发运行时错误1004,例如受保护的工作表(即使在受保护时允许插入列)。 2. 刚刚描述的方法将插入点留在了新的列中,我没有注意到这一点,直到我来到这里搜索移动选择的方法(才发现我不需要它!)。

0
0
0
2011-10-04 10:12:29 +0000

好吧,

光标必须在行内,而且 “E "和 "GN "的范围需要针对不同的列进行调整,但它为我节省了一些时间:

Sub SelectRange()

  Dim RowNumber As Integer

  RowNumber = Selection.Row
  Range("E" & CStr(RowNumber) & ":" & "GN" & CStr(RowNumber)).Select

End Sub
```。