У меня есть лист Excel, которому я хочу назначить более одного события рабочего листа.
Чтобы быть более конкретным, я хочу, чтобы всякий раз, когда ячейка в столбце B изменялась, тогда одна ячейка слева (столбец A) получала номер строки.
Также я хочу, чтобы всякий раз, когда ячейка в столбце J изменялась, тогда одна ячейка справа (столбец K) получала сегодняшнюю дату.
У меня сработало для них обоих по отдельности, но я думаю, что могу сделать что-то не так, используя их вместе.
Любая помощь будет высоко ценится!
Private Sub AG1(ByVal a_Target As Range)
If Not Intersect(a_Target, Me.Range("B2:B3000")) Is Nothing Then
Application.EnableEvents = False
Cells(a_Target.Row, a_Target.Column - 1) = a_Target.Row
Application.EnableEvents = True
End If
End Sub
Private Sub AG2(ByVal b_Target As Range)
If Not Intersect(b_Target, Me.Range("J2:J3000")) Is Nothing Then
Application.EnableEvents = False
Cells(b_Target.Row, b_Target.Column + 1) = Date
Application.EnableEvents = True
End If
End Sub
edit - работает сейчас (я также добавил, что столбец можно обозначить буквой):
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True
If Split(Cells(1, Target.Column).Address(True, False), "$")(0) = "B" Then
Application.EnableEvents = False
Cells(Target.Row, Target.Column - 1) = Target.Row
Application.EnableEvents = True
ElseIf Split(Cells(1, Target.Column).Address(True, False), "$")(0) = "J" Then
Application.EnableEvents = False
Cells(Target.Row, Target.Column + 1) = Date
Application.EnableEvents = True
End If
End Sub