Доброго времени суток! Прошу помощи... Выложил книгу-пример, в ней необходимо чтобы при изменении на листе "Лист1" ячеек А1, А2 и А3 запускались соответствующие макросы (изменялись соответственно ячейки А1, А2 и А3 на листе "Лист2"). Необходимо поправить код:[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then If [A1] = "разновес" Then Макрос1 If [A1] <> "разновес" Then Макрос2 If [A2] = "разновес" Then Макрос3 If [A2] <> "разновес" Then Макрос4 If [A3] = "разновес" Then Макрос5 If [A3] <> "разновес" Then Макрос6 End If Application.EnableEvents = True End Sub
[/vba]
Доброго времени суток! Прошу помощи... Выложил книгу-пример, в ней необходимо чтобы при изменении на листе "Лист1" ячеек А1, А2 и А3 запускались соответствующие макросы (изменялись соответственно ячейки А1, А2 и А3 на листе "Лист2"). Необходимо поправить код:[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then If [A1] = "разновес" Then Макрос1 If [A1] <> "разновес" Then Макрос2 If [A2] = "разновес" Then Макрос3 If [A2] <> "разновес" Then Макрос4 If [A3] = "разновес" Then Макрос5 If [A3] <> "разновес" Then Макрос6 End If Application.EnableEvents = True End Sub
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then If [A1] = "разновес" Then Call Макрос1 If [A1] <> "разновес" Then Call Макрос2 If [A2] = "разновес" Then Call Макрос3 If [A2] <> "разновес" Then Call Макрос4 If [A3] = "разновес" Then Call Макрос5 If [A3] <> "разновес" Then Call Макрос6 End If Application.EnableEvents = True End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then If [A1] = "разновес" Then Call Макрос1 If [A1] <> "разновес" Then Call Макрос2 If [A2] = "разновес" Then Call Макрос3 If [A2] <> "разновес" Then Call Макрос4 If [A3] = "разновес" Then Call Макрос5 If [A3] <> "разновес" Then Call Макрос6 End If Application.EnableEvents = True End Sub
Serge_007, Все хорошо, только начинает пересчитывать все указанные макросы. Но если их больше, и они сложней чем в моем "примере", тогда excel долго может их всех обсчитывать... Как сделать так, чтобы выполнялся только один "нужный" макрос?
Serge_007, Все хорошо, только начинает пересчитывать все указанные макросы. Но если их больше, и они сложней чем в моем "примере", тогда excel долго может их всех обсчитывать... Как сделать так, чтобы выполнялся только один "нужный" макрос?HeavyHard
Из всего, что я потерял, мне больше всего не хватает мозгов!
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Range("A1"), Target) Is Nothing Then If [A1] = "разновес" Then Call Макрос1 If [A1] <> "разновес" Then Call Макрос2 End If If Not Intersect(Range("A2"), Target) Is Nothing Then If [A2] = "разновес" Then Call Макрос3 If [A2] <> "разновес" Then Call Макрос4 End If If Not Intersect(Range("A3"), Target) Is Nothing Then If [A3] = "разновес" Then Call Макрос5 If [A3] <> "разновес" Then Call Макрос6 End If Application.EnableEvents = True End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Range("A1"), Target) Is Nothing Then If [A1] = "разновес" Then Call Макрос1 If [A1] <> "разновес" Then Call Макрос2 End If If Not Intersect(Range("A2"), Target) Is Nothing Then If [A2] = "разновес" Then Call Макрос3 If [A2] <> "разновес" Then Call Макрос4 End If If Not Intersect(Range("A3"), Target) Is Nothing Then If [A3] = "разновес" Then Call Макрос5 If [A3] <> "разновес" Then Call Макрос6 End If Application.EnableEvents = True End Sub