Если у вас нет CourseSelection, определенной как константа, возвращающая существующее имя листа, код не будет работать на With Worksheets(CourseSelection).Range("A3")
. Если вы хотите работать с именем листа CourseSelection, вы должны использовать With Worksheets("CourseSelection").Range("A3")
.
Если вы получили сообщение об ошибке, хотя вы, кажется, прошли эту точку, и ваш код, похоже, не работает на frmTaskSelection.lbTasks.RowSource = TaskList
. Это потому, что RowSource ожидает адрес
Если вы хотели заполнить значения из листа с именем CourseSelection от A3 до Ax, где x - последняя использованная ячейка, тогда этот код будет работать с любого активного листа.
Обратите внимание, что мне было неясно, как вы хотели использовать дополнительные значения из столбца F в дополнение к A2: A6. Если вы можете предоставить дальнейшее руководство / изображение и т. Д., То приведенный ниже код может быть адаптирован для соответствия
Sub test()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Worksheets("CourseSelection")
Set rng1 = ws.Range(ws.[a3], ws.Cells(Rows.Count, "A").End(xlUp))
frmTaskSelection.lbTasks.RowSource = "'" & ws.Name & "'!" & rng1.Address
frmTaskSelection.Show
End Sub