![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#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"? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]() Код:
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 136
|
![]()
Макросы модуля листа являются приват, независимо от их обьявления публик , и вызвать их из другого модуля нельзя никак !!!
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
![]()
Разве?
В листе Sheet1 Код:
Код:
Причём не только из основного модуля, но и из модуля другого листа.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
проверить бы не мешало
Заменил вложение,выгрузил не тот файл
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 15.02.2011 в 18:59. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 136
|
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
![]()
спасибо большое)
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Кто Вам такое сказал? Какие проблемы вызвать private макрос из другого модуля? Я часто так делаю. Например, если требуется запускать макрос по нажатию кнопки на рабочем листе, то я этому макросу устанавливаю статус private. В результате, его не видно в списке макросов. Во-первых, это ни к чему. Во-вторых, исключается возможность запуска макроса при другом активном листе.
А запустить private макрос (например, с именем "Main") из другого модуля очень просто, используя Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#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 |