Excelmacrosbutton将页面错误向上移动

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

我得到,这是[最有可能的]由于它超出范围,所以我试图做一个if else语句来解决它 – 我认为,因为我不是100%熟悉函数名称我找不到正确的措辞说:如果细胞超出范围,使等于0,0或类似的东西。

这是我迄今为止; 唯一有效的是声明的其他部分:

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 

这可能是简单的,因为我不熟悉Excel的macros编程术语/语义,所以我将不胜感激一些帮助! 谢谢! 🙂

 Sub moveUp20() If ActiveCell.Row > 20 Then 'if you are on row 21 or below ActiveCell.Offset(-20).Select Else ' select row 1 of the current column you are on Cells(1, ActiveCell.Column).Select End If End Sub 

对于你想要的function,最简单的是

 Sub moveUp20() On Error Resume Next ActiveCell.Offset(-20).Select On Error GoTo 0 End Sub 

如果你想要,你也可以探索的选项

 ActiveWindow.SmallScroll Down:=-20