如何在Excel VBA中获取更新的单元格的行?

时间:2019-02-03 04:50:08

标签: excel vba

我想要更新单元格为“ H”的行和列。我尝试了以下代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("H:H")) Is Nothing Then
    MsgBox Target.Row
End If

End Sub

当我单击单元格时,它会给我正确的行,但是当我编辑一个单元格并按Enter键时,消息将输出显示为下一行,而不是已编辑单元格的行。

如何获取已编辑单元格的行/列?

1 个答案:

答案 0 :(得分:1)

您需要Worksheet_Change,而不是Worksheet_SelectionChange。

当您选择其他单元格或单元格范围时,将触发Worksheet_SelectionChange。

当一个或多个单元格的值因键入,粘贴或VBA而变化时,会触发

Worksheet_Change。公式中计算值的更改不会触发它。要进行计算更改,请使用Worksheet_Calculate。

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("H:H")) Is Nothing Then
        MsgBox Target(1).Row
    End If

End Sub

Target很可能不只是一个单元格;因此是Target(1)。行以获取Target中的第一个单元格。

相关问题