Excel宏按钮向上移动顶部的页面错误

Excel宏按钮向上移动顶部的页面错误,excel,button,excel-2007,vba,Excel,Button,Excel 2007,Vba,在Excel中,我有一个按钮,可以将选定的单元格标记相对于原来所在的单元格向上移动20个位置。它工作正常,直到到达顶部,然后出现错误 我知道这[很可能]是因为它超出了范围,所以我尝试用if-else语句来解决它-我想因为我对函数名不是100%熟悉,所以我找不到合适的措辞来表示: 如果单元格超出范围,则使其等于0,0或类似值 这就是我目前所拥有的;唯一起作用的位是语句的else部分: Sub moveUp20() ' ' Move Up 20 Macro ' '

在Excel中,我有一个按钮,可以将选定的单元格标记相对于原来所在的单元格向上移动20个位置。它工作正常,直到到达顶部,然后出现错误

我知道这[很可能]是因为它超出了范围,所以我尝试用if-else语句来解决它-我想因为我对函数名不是100%熟悉,所以我找不到合适的措辞来表示: 如果单元格超出范围,则使其等于0,0或类似值

这就是我目前所拥有的;唯一起作用的位是语句的else部分:

Sub moveUp20()
    '
    ' Move Up 20 Macro
    '

    '
    If ActiveCell.Offset(-20, 0) <= Range(0, 0) Then
    ActiveCell.Select = Range(0, 0)
    Else
    ActiveCell.Offset(-20, 0).Select
    End If
End Sub
子移动20()
'
'向上移动20宏
'
'

如果ActiveCell.Offset(-20,0)用于您想要的功能,最简单的是

Sub moveUp20()
    On Error Resume Next
    ActiveCell.Offset(-20).Select
    On Error GoTo 0
End Sub
如果您愿意,还可以探索以下选项:

ActiveWindow.SmallScroll Down:=-20

对于您想要的功能,最简单的是

Sub moveUp20()
    On Error Resume Next
    ActiveCell.Offset(-20).Select
    On Error GoTo 0
End Sub
如果您愿意,还可以探索以下选项:

ActiveWindow.SmallScroll Down:=-20

你到底想干什么?我是说为什么要手动选择单元格?你想实现什么?我有一个很长的Excel电子表格,所以我创建了一个按钮,作为一种比滚动更快的方式在页面上下移动,因为20个位置将所选单元格从一个部分移动到另一个部分。我可能应该明确指出,单元格的内容不会改变——它基本上是在移动选定的单元格“光标”,为什么不设置鼠标的滚动,以便它相应地滚动行?您不需要vba代码来执行此操作:)+1!不知道你能做这个漂亮的小功能!控制面板|鼠标|一次滚动一行你到底想做什么?我是说为什么要手动选择单元格?你想实现什么?我有一个很长的Excel电子表格,所以我创建了一个按钮,作为一种比滚动更快的方式在页面上下移动,因为20个位置将所选单元格从一个部分移动到另一个部分。我可能应该明确指出,单元格的内容不会改变——它基本上是在移动选定的单元格“光标”,为什么不设置鼠标的滚动,以便它相应地滚动行?您不需要vba代码来执行此操作:)+1!不知道你能做这个漂亮的小功能!控制面板|鼠标|一次滚动一条线就像一个符咒!非常感谢D:D:D p.s.会投赞成票,但我是该网站的新手;(
会投赞成票,但我是该网站的新手
+1@bladepathera:我为你做了;)效果非常好!非常感谢D:D:D p.s.会投赞成票,但我是该网站的新手;(
会投赞成票,但我是网站的新手
+1@bladepathera:我为你做了;)+1表示多个解决方案和OP的另一种解释+1表示多个解决方案和OP的另一种解释