Немодальное диалоговое окно не работает должным образом после того, как модальное окно было ранее показано и закрыто - PullRequest
0 голосов
/ 02 января 2019

Работа в Excel 2000 VBA.Когда я показываю немодальное поле, я могу щелкнуть мышью на своем листе, чтобы установить фокус там, и оттуда перемещаться по листу с помощью клавиш со стрелками вверх, вниз и вниз.Но мне нужно сначала показать модальное окно, которое пользователь затем отклоняет, а затем показать немодальное окно.Но теперь немодальный не реагирует на нажатия клавиш перемещения курсора / нажатия страниц вверх / страницы после того, как фокус перенесен на лист.

Когда я запускаю макрос XXXX ниже с апострофом в первой строке, нет проблем с тем, как функционирует немодальная UF.Когда я удаляю апостроф и запускаю макрос YYYY и с помощью команды нажимаю на немодальную UF, я обнаруживаю вышеуказанную проблему.

Я начинающий программист.Если кто-то будет так любезен, предложит исправление, пожалуйста, просто поясните объяснение, чтобы я мог его понять.

Мой настоящий код гораздо более обширный.Я снял все это ниже.Но я не могу выяснить, что не так с этой скелетонизированной структурой управления, которую использует мой код.Что еще я попробовал (безуспешно):

  1. Я искал сеть в поисках других с похожими проблемами.
  2. Лежим за кодом в течение часа.
  3. Алкоголь.

Это модуль1:

Public LOOPFLAG As Boolean

Sub YYYY()

UserForm2.Show

End Sub


Sub XXXX()

'Unload UserForm2

For I = 1 To 3

    UserForm1.Show 0

    LOOPFLAG = True

    Do

    DoEvents

    Loop While LOOPFLAG = True

    Unload UserForm1

    MsgBox ""


    Next I

End Sub

Это код UF1:

Private Sub CommandButton1_Click()

LOOPFLAG = False

End Sub

Это код UF2:

Private Sub CommandButton1_Click()

XXXX

End Sub
...