1

Excelには、選択したセルマーカーを元のセルに対して20桁上に移動するボタンがあります。トップに到達してエラーが発生するまでは正常に動作します。

これは[おそらく]範囲外であることが原因であることがわかったので、それを解決するためにifelseステートメントを作成しようとしました-私は関数名に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

私はExcelのマクロプログラミング用語/セマンティクスに精通していないので、おそらく簡単なことです。助けていただければ幸いです。ありがとう!:)

4

2 に答える 2

2
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
于 2012-08-10T14:05:25.103 に答える
2

必要な機能については、最も簡単なのは

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

必要に応じて、次のオプションを調べることもできます

ActiveWindow.SmallScroll Down:=-20
于 2012-08-10T14:14:28.687 に答える