Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2012, 19:28   #1
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию Обратиться к метке, находящейстя в др. процедуре

Добрый день!

1) Подскажите, пожалуйста, как из одной процедуры можно сделать ссылочку на метку, находящуюся в др. процедуре? как к ней можно обратиться?

Есть основная процедура Main, в которой вызывается вспомогательная процедура letter_chech

Sub Main()
........
call letter_chech
Label_letter:
........
End Sub


Вызываемая процедура, содержит условие, при выполнении которого происходит переход назад к основной процедуре.

Sub letter_chech()
....
Sheets("LETTERS").Select
If IsEmpty(Cells(2, 5)) Then GoTo Label_letter

........
End Sub

Как можно вернуться к продолжению выполнения кода процедуры Main, при выполнении условия из процедуры letter_chech ?


2) И еще один вопросик. Какая команда указывает на продолжение выполнения кода ? do event? То есть:

Sub letter_chech()
....
Sheets("LETTERS").Select
If IsEmpty(Cells(2, 5)) Then GoTo Label_letter
else Do Event 'верно?
........
End Sub

То есть, если выполняется условие, то переход к метке, а если нет,- то продолжить выполнение процедуры letter_chech

___________
Спасибо!
Peace!

Последний раз редактировалось Blame; 03.06.2012 в 19:32.
Blame вне форума Ответить с цитированием
Старый 03.06.2012, 19:40   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

If IsEmpty(Cells(2, 5)) Then exit sub

А DoEvents передаёт управление системе, чтоб Вы могли мышкой пошевелить или что-то другое делать, пока код перебирает ваши миллионы ячеек. Кстати, на массивах-то быстре было бы. Раз так в 43
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 03.06.2012 в 19:43.
Hugo121 вне форума Ответить с цитированием
Старый 03.06.2012, 19:57   #3
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию

Hugo121

Спасибо большое! Это ведь универсальное решение к моим обоим вопросам сразу, верно?
Если условие выполняется и exit sub - то выход из вспомогательной процедуры, а иначе,-продолжение действий этой вспомогательной процедуры. Правильно?
Peace!
Blame вне форума Ответить с цитированием
Старый 03.06.2012, 19:58   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Да
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 03.06.2012, 21:48   #5
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
Радость

kiitos!
Peace!
Blame вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка в процедуре C++ Karina89 Помощь студентам 4 24.11.2011 18:25
Как установить цвет метки и вызвать диалог по щелчку на метке tumanovalex Qt и кроссплатформенное программирование С/С++ 4 14.05.2011 22:42
паскаль. Функции. Ошибка, не переходит по метке Антон Лысенко Помощь студентам 8 25.02.2011 20:27
Обратиться к процедуре в другом юните MyLastHit Общие вопросы Delphi 5 03.01.2011 18:23
msWord как заменить текст по метке Paskal1 Общие вопросы Delphi 0 25.10.2010 12:45