Я пытаюсь активировать электронную таблицу, используя пару списков.lstWorkbooks хранит название рабочей книги.lstSheets - это список рабочих листов для выбранной рабочей книги в lstworksheets.Моя проблема с выбором значений из этого списка приводит к случайному поведению.
Пожалуйста, смотрите мой код ниже
Dim xlApp As Excel.Application
Dim wbk As Workbook
Private Sub lstSheets_AfterUpdate()
ActiveWorkbook.Sheets(lstSheets.Value).Activate
End Sub
Private Sub lstWorkbooks_AfterUpdate()
Me.lstSheets.Clear
For Each wbk In xlApp.Workbooks
If wbk.Name = Me.lstWorkbooks.Value Then
Dim sh As Worksheet
For Each sh In wbk.Worksheets
If sh.Visible = xlSheetVisible Then Me.lstSheets.AddItem sh.Name
Next sh
Exit For
End If
Next wbk
Windows(lstWorkbooks.Value).Activate
End Sub
Private Sub UserForm_Activate()
Set xlApp = GetObject(, "Excel.Application")
For Each wbk In xlApp.Workbooks
If wbk.Name <> "Personal.xlsb" Then Me.lstWorkbooks.AddItem wbk.Name
Next wbk
End Sub
Любая помощь здесь, чтобы она приводила к желаемому поведению, ценится