У меня есть это в моем рабочем листе:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim D_KeyCells As Range
Set D_KeyCells = Range("D6:D16")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
Call D_CheckRow()
End If
End Sub
Но мне нужно, чтобы этот прогон был только тогда, когда выбран и изменен столбец D.
Потому что мне нужно будет сделать несколько проверок в зависимости от на какой ячейке столбец изменен.
Таким образом, если ячейка
D6 изменена, вызов D_CheckRow
E6 изменяется, затем вызывается E_CheckRow
F6, затем вызывается F_CheckRow
G6 изменяется, затем вызывайте G_CheckRow
и т. Д.
Я уверен, что есть более простой способ написания кода, поэтому любая помощь очень ценится.
Обновление: цель чтобы проверить, что после заполнения ячейки запускается подмодуль
Вот диапазоны, которые я проверяю:
Set D_KeyCells = Range("D6:D16")
Set E_KeyCells = Range("E6:E16")
Set G_KeyCells = Range("G6:G16")
Set I_KeyCells = Range("I6:I16")
Set J_KeyCells = Range("J6:J16")
Set K_KeyCells = Range("K6:K16")
Set L_KeyCells = Range("L6:L16")
Set M_KeyCells = Range("M6:M16")
Так что, если ячейка D изменяется, запустите D_CheckRow, если она была E-ячейка, затем запустите E_CheckRow и т. д.