Excel ActiveX Listbox не включен при открытии файла

Я пытаюсь выяснить причудливую ситуацию.

У меня есть рабочая тетрадь с множеством листов. На одном листе у меня есть один список ActiveX (CTOverview.Listbox1). На втором листе у меня есть всего три списка (от CTSelected.Listbox1 до Listbox3). Я использую запрос для заполнения Listbox1 на обоих листах одними и теми же данными. Код для этого ниже:

strSQL = "Select Distinct [Region] From [UniqueCTList$] Order by [Region]"
closeRS
OpenDB

' initialize listboxes
CTSelect.ListBox1.Clear
CTSelect.ListBox2.Clear
CTSelect.ListBox3.Clear
CTOverview.ListBox1.Clear

' initialize with entire division value
CTSelect.ListBox1.AddItem "Entire Division"
CTOverview.ListBox1.AddItem "Entire Division"

' initialize selected Tech
CTData.Range("CT_Selected") = ""

' populate listboxes using recordset
rs.Open strSQL, cnn, adOpenKeyset, adLockOptimistic

If rs.RecordCount > 0 Then
    Do While Not rs.EOF
        CTOverview.ListBox1.AddItem rs.Fields(0)
        CTSelect.ListBox1.AddItem rs.Fields(0)
        rs.MoveNext
    Loop
Else
    MsgBox "I was not able to find any unique Regions.", vbCritical + vbOKOnly
    Exit Sub
End If

Этот код работает прекрасно (не мой код - я получил его из промежутков). Оба LIstbox1 's на обоих листах загружаются со списком отдельных регионов. Однако я не могу получить CTOverview.Listbox1, чтобы ответить на любой ввод, пока я не 'мы выбрали что-то из CTSelected.Listbox1. Как только я это сделаю, оба Listbox1 'Они работают нормально и никак не связаны, по крайней мере, насколько я могу судить.

Я пытался закрыть набор записей после того, какмы заполнили два списка1 'с (без эффекта). Я попытался выбрать элемент по умолчанию в CTOverview.Listbox1 (без эффекта).

На всякий случай, вот мой код, чтобы открыть / закрыть набор записей:

Public Sub OpenDB()
    If cnn.State = adStateOpen Then cnn.Close

    cnn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; _
        DBQ=" & ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name

    cnn.Open
End Sub


Public Sub closeRS()
    If rs.State = adStateOpen Then rs.Close
    rs.CursorLocation = adUseClient
End Sub

Насколько я могу судить, я должен снять фокус с листа CTOverview. Если я нажимаю на любой другой лист, а затем возвращаюсь к CTOverview, Listbox1, кажется, работает. Это проблема, потому что CTOverview должен быть моим стартовым листом.

Есть идеи, почему это может происходить? Я'Я вытаскиваю свои волосы, пытаясь понять это. Любое понимание будет высоко ценится.

Ответы на вопрос(1)

Ваш ответ на вопрос