VBA заменит часть гиперссылки на другой лист в той же книге - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь изменить часть ссылки на другой лист в той же книге, которая была изменена через VBA.

У меня есть электронная таблица, где я хочу, чтобы пользователь мог изменить выбор, если он хочет видеть «Сайт1» или «Сайт2», изменяя значения в ячейках, помеченных как «Изменить с» и «Изменить на».

У меня есть отдельные листы для "Site1" и для "Site2".

Так что на моем основном листе если "Изменить с" в F4 = "Site1" и "Изменить на" в F5 = "Site2"

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

До сих пор я выяснил, как изменить все обычные ссылки и формулы для перехода на соответствующий лист. Однако я не могу заставить его изменить часть гиперссылки, которая ссылается на конкретный лист:

Например, мне нужно изменить только имя листа

от

C:\Documents\test.xlsm - Site1!A1

до:

C:\Documents\test.xlsm - Site2!A1

Я попробовал следующий код, но он не работал:

Я также попробовал решения, приведенные здесь, но они, кажется, только меняют пути, но не позволяют мне изменить имя листа.

Массовое обновление Excel Hyperlink

Любая помощь будет принята с благодарностью!

Sub test()
    Dim hLink As Hyperlink
    Dim wSheet As Worksheet

    For Each wSheet In Worksheets
       For Each hLink In wSheet.Hyperlinks
            hLink.Address = Replace(hLink.Address, "Site1", "Site2")
        Next hLink
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...