如何前往上一个活动的单元格?

时间:2019-04-29 19:22:20

标签: excel vba

问题:如果对某个单元进行了更改,我需要记录是谁对该单元进行了更改。因此,首先,我需要查找发生更改的行号。 通常,当最常键入数据时,在Excel中使用“ Enter”按钮,在这种情况下,我可以偏移一行以获得实际的行号: RowNo = ActiveCell.Row -1 '适用于Enter按钮或向下箭头键。

但是,如果用户决定改用鼠标键并移动向左/向右/向上,则我的定位不正确。

下面是我的更新代码,在Activecell上失败。上一个

请帮助。

工作表本身上的代码可在单元格更改时调用:

Private Sub Worksheet_Change(ByVal Target As Range)

*Dim KeyCells1 As Range
Dim PreviousCell As Integer
Set KeyCells1 = Range("A:B")
If Not Application.Intersect(KeyCells1, Range(Target.Address)) Is Nothing Then

        PreviousCell = ActiveCell.Previous.Row
End If
End Sub*

我需要的是进行更改的行号。 非常感谢您的帮助和建议。

1 个答案:

答案 0 :(得分:0)

如果仅修改一个单元格:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells1 As Range
    Dim PreviousCell As Integer

    Set KeyCells1 = Range("A:B")

    If Not Application.Intersect(KeyCells1, Target) Is Nothing Then
        PreviousCell = Target.Row
    End If
End Sub