|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.02.2011, 15:05 | #1 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
почему скрипт в модуле работает, а в листе нет?
уважаемые, осваиваю vba
вот код Sub timer11() Application.Run "timer10" End Sub Sub timer10() Dim flagrun As Integer flagrun = Worksheets("1").Range("A11").Value If flagrun = 1 Then Application.Run "messag11" End If If flagrun = 0 Then MsgBox "закончено" Exit Sub End If Application.OnTime Now + TimeValue("00:00:05"), "timer11" End Sub Sub messag11() Dim MySecond As Integer MySecond = Second(Time) MsgBox "MySecond= " & MySecond End Sub почему, когда я его размещаю в модуле, то он работает, а когда в листе (конечно же, с другими именами процедур) то не работает? второй вопрос - предположим, что messag11 расположен в листе "1", а timer10 и timer11 - в модуле, как вот эту команду Application.Run "messag11" написать так, чтобы она запустила messag11, код которого находится на листе "1"? |
15.02.2011, 15:26 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Код:
Анализ,обработка данных Недорого
|
15.02.2011, 17:47 | #3 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 136
|
Макросы модуля листа являются приват, независимо от их обьявления публик , и вызвать их из другого модуля нельзя никак !!!
|
15.02.2011, 17:57 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Разве?
В листе Sheet1 Код:
Код:
Причём не только из основного модуля, но и из модуля другого листа.
webmoney: E265281470651 Z422237915069 R418926282008
|
15.02.2011, 18:01 | #5 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
проверить бы не мешало
Заменил вложение,выгрузил не тот файл
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 15.02.2011 в 18:59. |
15.02.2011, 18:20 | #6 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 136
|
|
16.02.2011, 00:18 | #7 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
спасибо большое)
|
16.02.2011, 05:58 | #8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Кто Вам такое сказал? Какие проблемы вызвать private макрос из другого модуля? Я часто так делаю. Например, если требуется запускать макрос по нажатию кнопки на рабочем листе, то я этому макросу устанавливаю статус private. В результате, его не видно в списке макросов. Во-первых, это ни к чему. Во-вторых, исключается возможность запуска макроса при другом активном листе.
А запустить private макрос (например, с именем "Main") из другого модуля очень просто, используя Код:
Чем шире угол зрения, тем он тупее.
|
23.05.2011, 23:56 | #9 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
подниму тему - к сожалению, при размещении кода в листе, а не в модуле, вот так не работает: Application.Run "Лист1.messag11"
офис 2010 есть ли способ запустить процедуры в листе? код в первом посте. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему не работает скрипт | ser70 | JavaScript, Ajax | 11 | 03.10.2010 17:09 |
Изучаю javascript не пойму почему не работает скрипт | 4e4en | JavaScript, Ajax | 8 | 11.09.2010 19:17 |
Подскажите, почему не работает скрипт | void656 | HTML и CSS | 5 | 12.01.2010 15:16 |
Почему не работает тег align=right?valign работает а align нет! | aviv | HTML и CSS | 5 | 21.01.2009 17:46 |
FHandle - говорит что нет, хотя эта же процедура успешно работает в модуле Dialogs, о | mrandrey | Общие вопросы Delphi | 2 | 08.06.2007 15:21 |