Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBA

Войти
Регистрация
Восстановить пароль
 
kiruchin_nn
0 / 0 / 0
Регистрация: 01.07.2010
Сообщений: 5
#1

Выход из бесконечного цыкла по нажатию CommandButton на форме - VBA

05.07.2010, 18:03. Просмотров 1161. Ответов 5
Метки нет (Все метки)

Здраствуйте.
Есть форма UserForm1 на ней кнопка CommandButton1
Есть Module1 в нем

Sub gt()
1:

По нажатию на кнопку этот цыкл должен прерваться. Как?
Что мне здесь написать?.

goto 1
End Sub

Зарание благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2010, 18:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выход из бесконечного цыкла по нажатию CommandButton на форме (VBA):

Цикл наполнения листа значениями из TextBox на форме по нажатию CommandButton - VBA
Добрый день. Подскажите, на листе1 есть таблица 10 строк 4 столбца. При открытии книги запускается форма, на ней 6 текст боксов,...

По нажатию на CommandButton последовательно генерировать текст и показывать его в TextBox - VBA
Доброго времени суток, уважаемые форумчане. Подскажите, необходим код обработки нажатия commandbutton на форме. т.е. нажимаем кнопку...

label на форме равняется CommandButton.name - VBA
label на форме равнялся CommandButton.name котрый запускает форму

Удаление строки через CommandButton в форме - VBA
Задача может показаться кому-то тривиальной, но все же. Нужно реализовать кнопку "удалить" строку, кнопку "изменить"(только для админов),...

Выход из While по нажатию кнопки - VBA
Извините за, может быть, простой вопрос, но у меня не получается выйти из цикла While. На форме висят две кнопки; Button1 запускает цикл, а...

Выход из бесконечного цыкла - C++
Проблема с выходом из бесконечного цикла. Если для выхода вводить exit, программа виснет и бесконечно выводит, то, что записано в cout....

5
SlavaRus
1089 / 203 / 28
Регистрация: 15.03.2010
Сообщений: 638
06.07.2010, 15:40 #2
В модуле пишешь:
Public flag As Boolean

Public Sub тратата()
flag = False
Do
'.............
UserForm1.Show
'.............
Loop Until flag
End Sub

В форме:

Private Sub CommandButton1_Click()
flag = True
Hide
End Sub
0
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
06.07.2010, 16:57 #3
Подкорректирую то, что написал SlavaRus
(2SlavaRus: Иначе у меня, например, не работает )

Public flag as Boolean

Public Sub тратата()
flag = False
UserForm1.Show
Do
DoEvents
'.............
If flag = True Then UserForm1.Hide
'.............
Loop Until flag
End Sub

Private Sub CommandButton1_Click()
flag = True
End Sub
0
SlavaRus
1089 / 203 / 28
Регистрация: 15.03.2010
Сообщений: 638
06.07.2010, 17:16 #4
Я у себя проверил еще раз-вроде работает.
Я понял задачу так:
Есть цикл и внутри него при определенных обстоятельствах вызывается форма. Если на форме была нажата кнопка1 - выходим из цикла.
0
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
06.07.2010, 18:15 #5
2SlavaRus:

Если просмотреть вопрос kiruchin_nn, то про загрузку
формы в нём вообще ничего нет, поэтому
всё можно переписать так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Public flag As Boolean
 
Sub gt()
flag = False
Do
DoEvents
'Рабочий код процедуры
Loop Until flag
End Sub
 
Private Sub CommandButton1_Click()
flag = True
End Sub
1. Безусловное выполнение (как в твоём примере) UserForm1.Show в
цикле не позволяет мне нажать на кнопку. Сие зависит, наверное, от
времени выполнения цикла - чем оно короче, тем меньше возможности
сделать клик на кнопке.
2. Отсутствие в процедуре DoEvents не позволяет мне кликнут на кнопке
уже загруженной формы.
0
SlavaRus
1089 / 203 / 28
Регистрация: 15.03.2010
Сообщений: 638
07.07.2010, 09:29 #6
For vlth:
Тысячу извинений. Погорячился, был неправ. Я в отладчике прохлопал и решил, что все нормально. Ваш код абсолютно правильный!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2010, 09:29
Привет! Вот еще темы с ответами:

Выход из бесконечного цикла по нажатию клавиши - Assembler
как выйти из бесконечного цикла по нажатию клавиши? begin: ..... jmp begin 8h ждет нажатия и получает введенный символ...а...

Выход из бесконечного цикла по нажатию кнопки. - C++
Привет всем. как можно выйти из такого цикла по нажатию какой любой кнопки (например Esc) int main(){ while(1){ ...

Выход из бесконечного цикла по нажатию кнопки - C#
Всем привет! Я недавно прочитал статью на хабре про игры 30 байт, так вот, там было несколько игр, одна из которых однорукий бандит ...

Выход из бесконечного цикла в форме кнопкой - C#
Добрый день. У меня в ВинФорме при нажатии кнопки запускается бесконечный цикл. В этом цикле идёт строчка кода СЛЕЕП. Которая ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru