Страницы: 1
RSS
Пауза в цикле
 

Добрый день, уважаемые форумчане!

Прошу вашей помощи в следующем вопросе:

У меня задача в открывшейся форме пройтись циклом (от 1 до n). И на каждой итерации (жмакая CommandButton1) с textbox находящегося в этой форме взять введенное значение. Чтобы получить соответствие (итерация 1 – значение А1, итерация 2 – значение А2 и т.д.)

Пробовал разные способы, вроде как DoEvents должен помочь, но что-то все не так, - цикл идет без остановки «пробегая» момент изменения textbox’а.

Свои потуги прилагаю:

Код
Option Explicit
Option Base 1
Dim globalFlag As Boolean

Private Sub UserForm_Initialize()
    Label1.Caption = "enter the name of 1 group"
End Sub

Private Sub UserForm_Activate()
Dim a, i As Integer
a = UserForm1.ComboBox2.Value
ReDim NameGroup(a)
globalFlag = False
    For i = 1 To a
        
        Label1.Caption = "enter the name of " & i & " group"
        NameGroup(i) = TextBox1.Value
        
        DoEvents
        
        ' MsgBox ("name of " & i & " group saved"), vbInformation
        If globalFlag = True Then globalFlag = False
    
    Next i
End Sub

Private Sub CommandButton1_Click()
    globalFlag = True
End Sub
Изменено: Timofey0801 - 29.06.2022 04:26:50
 
А пауза для чего? Что хотите делать во время этой паузы?
 
Цитата
написал:
А пауза для чего? Что хотите делать во время этой паузы?
Мне с каждой итерации необходимо забрать значение с textbox'а.

Я хотел циклом (от 1 до n) создать соответствия номера итерации к значению введенному в textbox.

простым языком: я инициализирую UserForm с начальным содержанием Label - "введите значение 1", юзер в  textbox вводит значение и нажимает кнопку сохранить. Значение сохраняется в массиве, а скрипт с циклом переходит к следующей итерации -  textbox чищу, содержание Label меняется на  "введите значение 2", юзер в  textbox вводит следующее значение и нажимает кнопку сохранить... и т.д. до итерации n

В итоге я должен получить соответствия:
итерация 1 – значение А1,
итерация 2 – значение А2
и т.д.
Изменено: Timofey0801 - 29.06.2022 05:16:47
 
Цитата
необходимо забрать значение с textbox'а.
запрашивать можно inputbox
 
Цитата
написал:
Цитата
необходимо забрать значение с textbox'а.
запрашивать можно inputbox
да, я в курсе.
просто хотелось иметь более гибкое решение, с возможностью в дальнейшем прикрутить listbox, возможность редактирования и т.д.
 
Может это надо?
Как быстро заполнить/очистить элементы на форме(TextBox-ы, ComboBox-ы)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
а зачем там вообще цикл?
если нужна реакция на нажатую CommandButton1?
вот с этим и работайте. нужно понимать какой раз нажата кнопка, заведите глобальный счетчик, увеличивайте его в теле
Private Sub CommandButton1_Click()
....
End Sub
там же выполните все необходимое и так, столько бы раз кнопку не нажал пользователь и без всяких циклов
не нужно пытаться горбатого плотно прислонить к стене, ничего из этого не получится)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
а зачем там вообще цикл?
если нужна реакция на нажатую CommandButton1?
вот с этим и работайте. нужно понимать какой раз нажата кнопка, заведите глобальный счетчик, увеличивайте его в теле
Private Sub CommandButton1_Click()
....
End Sub
там же выполните все необходимое и так, столько бы раз кнопку не нажал пользователь и без всяких циклов
не нужно пытаться горбатого плотно прислонить к стене, ничего из этого не получится)
В конечном счете так и сделал.
Всем огромное спасибо кто отозвался!
Страницы: 1
Наверх