Private Sub UserForm_Initialize()
Dim wks As Worksheet, idx As Long
ReDim arrWs(1 To Worksheets.Count)
Me.ComboBox1.RowSource = Empty
For Each wks In ThisWorkbook.Worksheets
idx = idx + 1
arrWs(idx) = wks.Name
Next
Me.ComboBox1.List = arrWs
End Sub
Private Sub ComboBox1_Click()
Dim wks As Worksheet
On Error Resume Next
Set wks = Worksheets(Me.ComboBox1.Value)
On Error GoTo 0
If Not wks Is Nothing Then
If wks.Visible = xlSheetVisible Then
Application.Visible = True
wks.Select
Unload Me
End If
End If
End Sub