powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запуск макроса в зависимости от условия и значения в ячейке
23 сообщений из 23, страница 1 из 1
Запуск макроса в зависимости от условия и значения в ячейке
    #33342681
Evrodiller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Прошу помочь решить такую вот задачку.
В таблице Экзеля ячейка А1 один содержит в себе изменяющиеся значения, тоесть там может быть и 2, и 5, и 10. В зависимости от того какая цифра там написана, должен запускатся соотвествующий макрос например , когда написана цифра 2 , то запускается Макрос 2 , и т.д.
Прошу обьснить подробнее.
Заранее спасибо.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33342865
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и напиши обраотку в Worksheet.Change, где и анализируй содержимое какой ячейки было изменено и на что.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33343325
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Событие Worksheet.Change.
Программа одна а в зависимости от значение в ячейке (например А1) выполняет то или иное действие. Тут люди в основном опытные,такими мелочами заниматся не хочУт. Напиши мне на talgat@hot.ee (дом). Я вечером тебе какой нибудь моленький примерчик состряпаю.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33344238
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я бы посоветовал не торопиться с Worksheets.Change. Ты опиши проблему по конкретнее, а именно как должен запускаться макрос? Варианты: при открытии документа, при изменении ячейки, при нажатии на кнопку или др. А в зависимости от этого уже и плясать. Вариант с нажатием кнопки самый простой. Решается оператором Select.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33344359
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvrodillerДоброго времени суток!
Прошу помочь решить такую вот задачку.
В таблице Экзеля ячейка А1 один содержит в себе изменяющиеся значения, тоесть там может быть и 2, и 5, и 10. В зависимости от того какая цифра там написана, должен запускатся соотвествующий макрос например , когда написана цифра 2 , то запускается Макрос 2 , и т.д.
Прошу обьснить подробнее.
Заранее спасибо.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 1 Then Range("B5") = 15
If Range("A1") = 2 Then Range("B5") = 20
If Range("A1") = 3 Then Range("B5") = 10
End Sub
Типа такого
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33345793
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или типа такого
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 1 Then
произведение
различных
действий
end if
If Range("A1") = 2 Then
произведение
различных
действий
end if
if Range("A1") = 3 Then
произведение
различных
действий
end if
End Sub
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33346179
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talgatТут люди в основном опытные,такими мелочами заниматся не хочУт.
Правильно :) А как увидят фигню в ответах, так хватаются за голову и начинают учить :)

Зачем события? Тем более Worksheet_Change? Все намного проще и примитивней.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub aaaa()
   If ActiveSheet.Range("A1").Text = "Macro1" then
      Call Macro1()
   ElseIf ActiveSheet.Range("A1").Text = "Macro2" then
      Call Macro2()
   Else
      Call SomeOtherMacro
   End If
End Sub
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33346556
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl talgatТут люди в основном опытные,такими мелочами заниматся не хочУт.
Правильно :) А как увидят фигню в ответах, так хватаются за голову и начинают учить :)

Зачем события? Тем более Worksheet_Change? Все намного проще и примитивней.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub aaaa()
   If ActiveSheet.Range("A1").Text = "Macro1" then
      Call Macro1()
   ElseIf ActiveSheet.Range("A1").Text = "Macro2" then
      Call Macro2()
   Else
      Call SomeOtherMacro
   End If
End Sub


Угу. :)
И запускать его каждый раз ручками.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33346815
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMed White OwlЗачем события? Тем более Worksheet_Change? Все намного проще и примитивней.

Угу. :)
И запускать его каждый раз ручками.
А где в вопросе указано, что макрос должен запускаться автоматически?
А в коде который набросал talgat макрос будет запускаться при любом изменении на листе, а не только в определенной ячейке, а это возможно хуже чем запуск вручную!
И вообще куда делся автор? Тока он может объяснить что он хочет, я уже про это писал.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33346838
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-nike AleksMed White OwlЗачем события? Тем более Worksheet_Change? Все намного проще и примитивней.

Угу. :)
И запускать его каждый раз ручками.
А где в вопросе указано, что макрос должен запускаться автоматически?
А в коде который набросал talgat макрос будет запускаться при любом изменении на листе, а не только в определенной ячейке, а это возможно хуже чем запуск вручную!
И вообще куда делся автор? Тока он может объяснить что он хочет, я уже про это писал.

Неправильно. Запускаться будет только при изменении в А1
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33346842
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автору давно ответили на relib.com, вот он и пропал...
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33346952
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talgatНеправильно. Запускаться будет только при изменении в А1
Пусть нас спецы рассудят.)))
Letter_D автору давно ответили на relib.com, вот он и пропал...
Блин, мож нам тоже туда пора.(((
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33347248
VBA Excel HelpChange Event

Occurs when cells on the worksheet are changed by the user or by an external link.

Для проверки вставь MsgBox и поизменяй другие ячейки.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33347315
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2Для проверки вставь MsgBox и поизменяй другие ячейки.
Самому стало интересно правильно я говорил или нет, поэтому решил проверить. Интересная ситуация получилась (мож глюк): как я и предполагал событие отрабатывается, но почему-то зацикливается. Очень интересно....
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33347510
Первое что выяснили, что k-nike прав. Событие происходит при изменении любой ячейки на листе.

По поводу зацикливания. Да я тоже проверял. Такая же фигня. По-видимому происходит следующее. При изменении ячейки "А1", меняется значени ячейки "B5", что вызывает опять событие Worksheet_Change.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33348025
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А никто и не говорил, что talgat дал правильный вариант ответа.
Да, событие отрабатывает при изменении любой ячейки.
НО, что передается в качестве параметра - Range. Вот и надо на входе сначала проанализировать - какая ячейка меняется и никакого зацикливания не будет.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address="A1" Then
End If
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33348121
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedА никто и не говорил, что talgat дал правильный вариант ответа.
Вообще-то он сам говорил, что я не прав, а он прав!
И по-моему обсуждение не до конца заданного вопроса слишком затянулось.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33348199
Пользователь2Первое что выяснили, что k-nike прав. Событие происходит при изменении любой ячейки на листе.

По поводу зацикливания. Да я тоже проверял. Такая же фигня. По-видимому происходит следующее. При изменении ячейки "А1", меняется значени ячейки "B5", что вызывает опять событие Worksheet_Change.

каких тока неожиданных незнаний не выявится....
есть "правила оформления" кода каждого сорта.
повторный фаер события прерывается так

Код: plaintext
1.
2.
3.
4.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.EnableEvents = False
   'тута пишем про чему равно б5
  Application.EnableEvents = True
End Sub

вот кусок из хелпа для другого применения

авторThis example disables events before a file is saved so that the BeforeSave event doesn’t occur.

Application.EnableEvents = False
ActiveWorkbook.Save
Application.EnableEvents = True
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33348218
в смысле - Worksheet_Change
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #33529606
RusteR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k-nike AleksMedА никто и не говорил, что talgat дал правильный вариант ответа.
Вообще-то он сам говорил, что я не прав, а он прав!
И по-моему обсуждение не до конца заданного вопроса слишком затянулось.

Вы бы спросили сначала человечка может ему лучше было бы использовать формулу "СУММЕСЛИ"? А то все полезли в макросы..... )))))))))
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Запуск макроса в зависимости от условия и значения в ячейке
    #37783512
Bozhkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, у меня та же задача. Три макроса. Каждый запускается если в определенной ячейке "ИСТИНА"
Я имею три ячейки BE86, BE87, BE88. Если в первой ячейке ИСТИНА, то запучкается макрос NPK1, если во второй ИСТИНА, то NPK2, и если в тертей ИСТИНА то NPK3. Значения ячеек зависят от выбранного в списке значения.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #37784159
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и необязательно анализировать ячейки-то... Есть же "список" - вот при выборе в нем - и запускай нужный макрос.
...
Рейтинг: 0 / 0
Запуск макроса в зависимости от условия и значения в ячейке
    #37784320
Bozhkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если бы я знал, как это сделать... Я ничего в VBA не знаю.
P.S. Мне на другом форуме помогли. Именно таким способом, как вы предложили.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запуск макроса в зависимости от условия и значения в ячейке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]