Я ломал голову над этим, гуглюсь и ищу безрезультатно, так что, надеюсь, кто-то может помочь.
У меня есть проект, в котором пользователи открывают электронную таблицу, которая извлекает данные с сервера SQL. Если пользователь изменяет данные в одном из трех столбцов, эти данные обновляются обратно на сервер SQL.
Пока у меня есть эта часть, работающая с использованием события «Worksheet_Change» с использованием следующего простого тестового кода, она возвращает адрес измененной ячейки в столбце «A», который в конечном итоге этот измененный адрес ячейки будет передан в подпрограмму для обновления SQL-сервер с измененными данными.
Мой тестовый код до сих пор ...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Changed_Cell As Range
If Target.Column = 1 Then
For Each Changed_Cell In Target
MsgBox ("Changed_Cell : " & CStr(Changed_Cell.Address))
Next Changed_Cell
End If
End Sub
Хотя это работает, моя проблема в том, что мне нужно это для работы с автоматически отфильтрованными данными, так как пользователи любят использовать автофильтры, и им говорят «никакие автофильтры не являются опцией».
Приведенный выше код работает с автофильтрами, если за один раз я изменяю только одну ячейку в фильтруемом диапазоне. Если я пытаюсь изменить несколько ячеек в отфильтрованном диапазоне, он ломается.
Итак, мне нужно что-то, что для каждой измененной ячейки в столбце с автоматической фильтрацией дает мне индивидуальные адреса каждой измененной ячейки, а не диапазон. (надеется, что это имеет смысл)