Перейти на вкладку, используя имя вкладки как переменную из определенной ячейки

Я работаю над моделью прогнозирования. Выпадающий список с 3 вариантами помещает одно из этих чисел в определенную ячейку 1a, 1b, 1c (это соответствует вкладкам, названным соответственно 1a, 1b, 1c). Я хочу щелкнуть поле и перейти на вкладку, указанную в конкретной ячейке. Я новичок в VBA и все еще прохожу курс микро-мастерства, и мне просто нужна помощь с этим. У кого-нибудь есть код для меня.

Мне нужно установить имя рабочего листа для переменной, содержащейся в ячейке, чтобы я мог переходить на 3 разные вкладки из одного и того же места в зависимости от того, какое имя 1a, 1b, 1c отображается в конкретной ячейке.

Любая помощь очень ценится. Спасибо, Силли

Всего 2 ответа

Автоматический диспенсер мыльной пены от xiaomi.


Решение только по формуле

Для этого можно использовать формулу. Например, если у вас есть имя листа Sheet2 в ячейке A1 и вы напишите где-нибудь следующую формулу:

=HYPERLINK("#" & A1 & "!A1","Link")

Тогда эта ссылка откроет Sheet2. Если значение в A1 изменится на Sheet3, ссылка автоматически изменится на открытие Sheet3.


Использование элементов управления для активации другого рабочего листа

  • Если вы собираетесь создать кнопку, скопируйте следующий код в стандартный модуль, например Module1 и назначьте jump кнопке (right-click > Assign Macro).

Button

Option Explicit

Sub jump()
    Const wsName As String = "Sheet1"
    Const cAddr As String = "A1"
    With ThisWorkbook
        .Worksheets(.Worksheets(wsName).Range(cAddr).Value).Activate
    End With
End Sub
  • Если вы собираетесь создать командную кнопку, скопируйте следующий код в соответствующий модуль листа, например. Sheet1 (Design Mode > double-click).

<▪CommandButton

Option Explicit

Private Sub CommandButton1_Click()
    Const cAddr As String = "A1"
    ThisWorkbook.Worksheets(Range(cAddr).Value).Activate
End Sub
  • Измените константы соответствующим образом.

Есть идеи?

10000