Виж дали това дали няма да ти свърши работа: https://www.extendoffice.com/documents/excel/3571-excel-select-sheet-based-on-cell-value.html
В примера, който е показан се избират различни шийтове, според това какво си натиснал в падащото меню. Вместо sheet1, sheet2 можеш да преименуваш шийтовете на лада, москвич и т.н и би трябвало да работи.
Ъпдейт: Ето ти примерно решение, с което можеш да копираш съдържанието на шийта, който си избрал от падащото меню в шийт 1.
1. Създаваш комбо бокс (специално падащо меню, което да работи с макроси)
Първо трябва да активираш developer таба в ексел (file-> options ->customise ribbon)
След това developer -> insert ->combobox

2. След като създадеш падащото меню, даваш десен бутон върху него и assign macro
3. Това ще те отведе на правилното място във vba editora на ексел. Триеш всичко, което е там и поставяш следния код. Сложим съм подробни обяснения, така че всичко да е ясно:
Private Sub ComboBox1_Change()
'if a sheet is selected from the dropdown list
If ComboBox1.ListIndex > -1 Then
'copy the selected worksheet
Sheet = ComboBox1.Value
Set ws = Worksheets(Sheet)
'Choose the range you want to copy
ws.Range("A1:B10").Copy
'Activate Sheet1. Change "Sheet1" with the corresponding sheet name
Sheets("Sheet1").Activate
'Select the target range
Range("A1").Select
'Paste in the target destination
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
End If
End Sub
Private Sub ComboBox1_DropButtonClick()
Dim xSheet As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
If ComboBox1.ListCount <> ThisWorkbook.Sheets.Count Then
ComboBox1.Clear
For Each xSheet In ThisWorkbook.Sheets
ComboBox1.AddItem xSheet.Name
Next xSheet
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Private Sub ComboBox1_GotFocus()
If ComboBox1.ListCount <> 0 Then ComboBox1.DropDown
End Sub
Необходимо е да замениш "Sheet1" в най-горното макро (Combobox1_Change) с името на първия ти шийт. Имай предвид, че това макро няма да "отваря" отделните листи, а просто ще копира информацията от тях, т.е., когато ъпдейтваш информацията, тя ще се променя само в sheet1. Ако искаш просто да "отваряш" другия шийт е достатъчно просто да замениш първото макро (Combobox1_Change) със следния код:
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > -1 Then Sheets(ComboBox1.Text).Select
End Sub
Другите макроси трябва да останат непроменени. Не забравяй и да запазиш екселския файл като macro-enabled(.xlsm), за да можеш да ползваш и друг път този код.