Страницы: 1
RSS
VBA. Заполнение формы данными при её повторном вызове из другой формы, Не получается заполнить форму при её повторном вызове
 
Доброго всем здоровья.
Подскажите, как правильно заново подгрузить данные из массива в форму при её повторном вызове после закрытия? Проблема такая: в первую форму (так получилось что это UserForm2) загружается список справочников, после выбора справочника вызывается вторая форма (UserForm1), в которую подгружается содержимое выбранного справочника. Решил добавить кнопку возврата к форме со справочниками, для возможности выбора другого справочника, но форма открывается пустой (я так понимаю, при закрытии формы её данные очищаются?). Не долго думая, вставил в код кнопки вызова формы копию кода её заполнения данными из массива из модуля инициализации формы, но ничего не получилось. Пытался объявить переменную массива глобальной - тоже не помогло. Постоянно выдает разного рода ошибки, т.к. я не спец в VBA, понял далеко не всё.
Как поправить код, чтобы повторно вызываемая форма так же заполнялась перечнем справочников?
 
Исходя из вашего же кода:
Код
Private Sub CommandButton3_Click()
    SheetMas
    Unload Me
End Sub
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, Как всё просто, когда видишь решение  :)  а я не догадался перевызвать процедуру целиком, т.к. считал что данные массива должны сохраняться в памяти пока выполняется макрос, и достаточно как-то обратиться к ним.

Большое спасибо.
 
Цитата
cuprum написал:
должны сохраняться в памяти
объявите глобально, тогда можно:
Код
 Public arrSH$()  
'.....
Private Sub CommandButton3_Click()
    With UserForm2
        .ListBox1.ColumnCount = 3
        .ListBox1.List = arrSH
        .Show
    End With
    Unload Me
End Sub
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
объявите глобально,
Да я и пытался. Теперь, сравнивая Ваш код и мой, вижу что строки я вставлял правильно, но не туда.
 
Решение лежало на поверхности:
вместо
Код
Unload Me
использовать
Код
UserForm2.Hide
Изменено: cuprum - 09.04.2020 17:16:48
Страницы: 1
Наверх