Вставить одну и ту же гиперссылку на все листы - PullRequest
0 голосов
/ 27 июня 2018

У меня есть гиперссылка на ячейку B1 Sheet1. Я хотел бы скопировать эту точную гиперссылку на ячейку B1 всех листов в моей книге.

Я попытался скопировать ссылку, выбрать все листы и вставить, но по какой-то причине это не работает. У меня также есть более 50 листов.

Обновление : Вот что я попробовал. Он вставляет «гиперссылку» на все листы рабочей книги, но гиперссылка по какой-то причине не работает.

Sub ReturnToSheet1()

Dim ws As Worksheet

For Each ws In Worksheets
If ws.Name <> "Sheet1" Then
    ws.Activate

Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B1").Select
ActiveCell.FormulaR1C1 = "return to sheet1"
Rows("2:2").Select
Selection.RowHeight = 7.5
Range("B1").Select
ActiveCell.FormulaR1C1 = "return to sheet1"
Range("B1").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    "Sheet1!A1", TextToDisplay:="return to sheet1"
With Selection.Font
    .Name = "Calibri"
    .Size = 10
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleSingle
    .ThemeColor = xlThemeColorHyperlink
    .TintAndShade = 0
    .ThemeFont = xlThemeFontNone
End With
Selection.Font.Size = 11
Range("A3").Select

End If
Next ws
End Sub

Спасибо.

1 Ответ

0 голосов
/ 28 июня 2018

Я думаю, вы делаете это сложнее, чем нужно:

    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> "Sheet1" Then
            ws.Hyperlinks.Add _
              Anchor:=ws.Range("B1"), _
              Address:="", _
              SubAddress:="Sheet1!A1", _
              TextToDisplay:="return to sheet1"
        End If
    Next ws

должно быть достаточно, чтобы сделать работу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...