Отображение пользовательской формы несколько раз в цикле - PullRequest
0 голосов
/ 07 мая 2020

У меня проблемы с l oop формой пользователя и получением из нее данных. Мой код уже правильно работает всякий раз, когда я использую его для одноразового использования (из l oop). Цель состоит в том, чтобы отправить данные, полученные с использованием значений ComboBox (что выполняется в коде Userform) на листе, и это нужно делать X раз (X определяется пользователем в начале кода), но всякий раз, когда я ввожу l oop, моя пользовательская форма отображается только один раз. Я действительно видел, что некоторые люди использовали опцию vbModeless, но поскольку я не заметил никаких изменений, я подумал, что это подсказка, но не нашел ничего похожего на нее, что решило бы мою проблему.

Sub nouveau_controle()
    Dim nbre_controle As Integer
    nbre_controle = InputBox("Entrez le nombre de contrôles à effectuer")
    For j = 1 To nbre_controle Step 1
        Formulaire_nouveau_controle.Show vbModeless
    Next j
End Sub

Спасибо за любую помощь, которую вы можете мне оказать.

1 Ответ

1 голос
/ 07 мая 2020

Если вы открываете форму vbModeless, это означает 2 вещи:
(1) вы можете продолжать работать с excel, пока форма открыта
(2) ваш код немедленно продолжит выполнение после Show

По мере того, как код продолжает выполняться, ваш код без остановки выполняет команду Show. Когда пользователь закрывает его, он не открывается повторно, так как код уже выполнен полностью

Противоположное - открыть форму modal (это значение по умолчанию). Выполнение останавливается на команде Show и ожидает закрытия формы. В этом случае вы должны увидеть свою форму несколько раз. Примеры типичных модальных форм: InputBox или MsgBox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...