Пусть ячейка A1 принимает только два значения: 1 или 0. Как только значение в этой ячейке принимает 1, тут же должен автоматически запускаться макрос (под именем Put-record; он вставляет строку в таблице). Если ячейка принимает значение 0 (или, допустим, какое-либо иное значение, отличное от 1), то ничего не требуется специально запускать, пока ячейка вновь не станет равной единице. Нужен VBA-код этого макроса, который бы сам мониторил ячейку A1 и запускал бы другой макрос Put-record каждый раз, как только значение ячейки A1 сменится с нуля (или с какой-л. другой цифры или значения) на единицу.
Автоматический запуск макроса в зависимости от значения в ячейке.
05.08.2009 12:31:08
|
|
|
|
05.08.2009 13:18:44
И ваш код работает. Спасибо вам и Юрий М !
|
|
|
|
05.08.2009 13:23:26
Если A1 является формулой, т.е. ссылается на другие ячейки, то все эти выше указанные коды - не работаю. Что делать?
|
|
|
|
05.08.2009 13:42:57
Макрос автоматически вставляет строки не один раз, как требуется, а бесконечное число раз - пока не выдаст ошибку (
|
|
|
|
05.08.2009 13:51:20
При вставке строк событие Calculate Или Change происходит? Вот макрос и будет срабатывать. Нужно отключить событие.
|
|
|
|
05.08.2009 13:51:33
Отключайте события в событиях:
Private Sub Worksheet_Calculate() Application.EnableEvents = False код Application.EnableEvents = True End Sub
Bite my shiny metal ass!
|
|
|
|
05.08.2009 14:51:22
Polisimus, Я Вам дал пример для одного события. Отключать надо везде, что Вам и посоветовал Юрий М.
Bite my shiny metal ass!
|
|
|
|
09.09.2010 15:16:38
Кажется нашел что нужно. Подскажите каким образом изменить код что бы второй макрос удалял действия первого макроса
|
|
|
|
09.09.2010 15:28:47
Запишите макрорекордером все действия, которые требуются для "восстановления" после работы первого макроса. Может Вы про "откат" до момента работы первого макроса?
|
|
|
|
09.09.2010 15:42:09
Ну так и запишите удаление этой таблицы.
|
|
|
|
09.09.2010 15:44:09
{quote}{login=Юрий М}{date=09.09.2010 03:42}{thema=}{post}Ну так и запишите удаление этой таблицы.{/post}{/quote}
Макрос я записал а как его запустить при выборе "2"? |
|
|
|
09.09.2010 15:47:55
А я знаю где у Вас выбирается "1"?
|
|
|
|
09.09.2010 15:50:36
Извините, на примере выше указанного кода A1
|
|
|
|
09.09.2010 15:53:17
If [A1] = 1 Then
Call Макрос1 ElseIf [A1] = 2 Then Call Макрос2 End If |
|
|
|
09.09.2010 16:17:02
Заработало, ура. Спасибо!
|
|
|
|
Читают тему