У меня есть таблица, размер которой определяется пользователем. Мне нужен макрос для запуска каждый раз, когда пользователь вводит или изменяет значение в каждой ячейке 1-го столбца.
В таблице по умолчанию есть только строка заголовка и 1 пустая строка. Есть отдельная кнопка с поддержкой макросов, функция которой заключается в добавлении строк в эту таблицу при необходимости.
Я попытался использовать приведенный ниже тестовый код, чтобы сначала узнать размер таблицы, а затем запускать макрос каждый раз, когда ячейка в 1-м столбце этой таблицы изменяется.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dyString As String
Dim dyRange As Range
Dim LastRowEntry_1 As Integer
LastRowEntry_1 = ActiveSheet.ListObjects("TableName").Range.Rows.Count
dyString = "B12:B" & LastRowEntry_1
Set dyRange = Range(dyString)
If Not Intersect(Target.Columns(1), dyRange) Is Nothing Then
If IsEmpty(Target.Value) = False Then
'RUN MACRO 1
End If
End If
End Sub
В то время как макрос работает правильно для любого изменения в 1-й строке, каждый раз, когда новая строка добавляется в таблицу, макрос выполняется только при добавлении пустой строки (нажатие на кнопку) и не для каких-либо последующие изменения ячейки в новых строках. Мне нужно, чтобы он запускался только при вводе значений в эти ячейки или при изменении существующих значений, а не когда он пуст.
Куда я иду не так?