Как связать выпадающий список с другой книгой Excel

Всем привет, есть выпадающий список, где пользователь может выбрать необходимый месяц, как сделать чтобы его выбор открывал лист с таким же именем в другой книге и пользователь уже работал с ним?


Ответы (1 шт):

Автор решения: vikttur

Выпадающий список в ячейке A2

Чтобы при каждом изменении на листе не занимать оперативку переменными, оформить основной код отдельной процедурой, вызов макроса назначить на событие листа.

В модуль листа:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("A2"), Target) Is Nothing Then
        Call OpenSheet(Target.Value)
    End If
End Sub

В основной модуль:

Sub OpenSheet(sNameSheet As String)
    Dim wBook As Workbook
    Dim sPath As String
    
    sPath = "D:\test.xlsx" ' путь к книге'
    Set wBook = Workbooks.Open(Filename:=sPath) ' открываем книгу'
    wBook.Worksheets(sNameSheet).Activate ' открываем лист'
    ' какие-то действия'
    Set wBook = Nothing
End Sub
→ Ссылка