Вы можете использовать следующие функции
Эта функция предназначена для пользовательской формы, при инициализации она заполняет комбинированный список всеми открытыми листами
Private Sub UserForm_Initialize()
Dim i As Long
For i = 1 To Workbooks.Count
ComboBox1.AddItem (Workbooks(i).Name)
Next
End Sub
Это касается самого Combobox.всякий раз, когда вы выбираете какую-либо рабочую книгу из выпадающего списка, эта функция вызывается, и она заполняет список со списками листов этой рабочей книги.
Private Sub ComboBox1_Change()
Dim selected_wb As Workbook
Set selected_wb = Workbooks(ComboBox1.Text)
ListBox1.Clear
For Each ws In selected_wb.Worksheets
ListBox1.AddItem ws.Name
Next ws
End Sub
Эта функция вызывается, когда вы щелкаете имя листа из списка., он выберет лист и закроет форму пользователя
Private Sub ListBox1_Click()
Dim selected_wb As Workbook
Dim selected_ws As Worksheet
Set selected_wb = Workbooks(ComboBox1.Text)
Set selected_ws = selected_wb.Sheets(ListBox1.Text)
selected_ws.Activate
UserForm1.Hide
End Sub