Проблема с назначением динамического диапазона элементу управления ListBox - PullRequest
0 голосов
/ 22 апреля 2019

Это должно быть просто, но не может заставить его работать.У меня есть кнопка на листе с именем Master, которая должна отображать пользовательскую форму (с именем AddApplicant) при нажатии.Пользовательская форма содержит ListBox (с именем lstCourses), в котором я хочу отобразить некоторые значения из рабочего листа под названием Сведения о курсе.Рабочий лист «Сведения о курсе» создается программно, но это не должно иметь никакого отношения, поскольку я установил, что кнопка, запускающая пользовательскую форму, должна включаться только при наличии этого листа.

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

Кажется, проблема в коде, который загружает диапазон в ListBox, поскольку форма отображается, когда я комментирую эти строки кода.

Private Sub UserForm_Initialize()

Dim cell As Range
Dim cellList As Range
Set cellList = Worksheets("Course Details").Range(Range("A2"), Range("A2").End(xlDown))

For Each cell In cellList
    lstCourses.AddItem cell.Value
Next cell

End Sub

'Here is the code assigned to the button that launches the form
AddApplicant.Show

1 Ответ

0 голосов
/ 22 апреля 2019

Собираюсь почистить пару вещей для вас здесь:

Dim cell As Range, cellList As Range
With Worksheets("Course Details")  'added this as you have range references without sheets
    Set cellList = .Range(.Range("A2"), .Range("A2").End(xlDown))
    For Each cell In cellList
        lstCourses.AddItem cell.Value
    Next cell
End With

Поскольку это выполняется из инициализации, вы уже загрузили бы лист, поэтому нет необходимости снова .show.

Должна была быть отдельная кнопка, которая использует макрос, например:

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