Как получить строку обновленной ячейки в Excel VBA? - PullRequest
0 голосов
/ 03 февраля 2019

Я хочу, чтобы строка и столбец ячейки были обновлены и чей столбец был "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

Когда я просто щелкаю ячейку, это дает мне правильную строку, но когда я редактирую ячейку и нажимаю ввод, Сообщение показывает вывод в качестве следующей строки, а не строки отредактированной строкиячейка.

Как получить строку / столбец отредактированной ячейки?

1 Ответ

0 голосов
/ 03 февраля 2019

Требуется Worksheet_Change, а не Worksheet_SelectionChange.

Worksheet_SelectionChange запускается при выборе другой ячейки или диапазона ячеек.

Worksheet_Change запускается, когда значения одной или нескольких ячеек изменяются при вводе,склеивание или VBA.Изменение рассчитанного значения по формуле не вызывает его.Для изменения расчета используйте 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 (1). Строка, чтобы получить первую ячейку в Target.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...