VBA гиперссылка на все ячейки при создании диапазона - PullRequest
0 голосов
/ 03 апреля 2020

Я хотел бы применить функцию =HYPERLINK() в Excel в диапазоне «XYZ», где каждая ячейка ссылается на свой аналог в листе AB C. Просто не знаю, как это сделать, так как я являюсь новичком, когда дело доходит до VBA.

Sub Calculator()
    Dim instances As Long
    Dim blanks As Long

    ' Prepare for allocation
    Set mainline = ActiveWorkbook
    lastrowABC = Sheets("ABC").Cells(Rows.Count, 1).End(xlUp).Row

    'newprep
    Sheets("Sheet").Cells.Clear
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = False


    ' Add Formulas to Sheet Tab
    Worksheets("Sheet").Activate
    With Sheets("Sheet")
            .Range("A1") = "XYZ"
            .Range("A2:A" & lastrowABC) = Sheets("ABC").Range("Z2:Z" & lastrowABC).value

1 Ответ

1 голос
/ 03 апреля 2020

Просто напишите .Formula напрямую:

Измените

.Range("A2:A" & lastrowABC) = Sheets("ABC").Range("Z2:Z" & lastrowABC).value

на

.Range("A2:A" & lastrowABC).Formula = "='ABC'!Z2"

РЕДАКТИРОВАТЬ :

Если вам нужна фактическая гиперссылка, то, возможно, что-то вроде следующего:

Sub Test()
    Dim lastRowABC As Long
    lastRowABC = Sheets("ABC").Cells(Rows.Count, 1).End(xlUp).Row

    With Worksheets("Sheet")
        .Range("A1") = "XYZ"

        Dim i As Long
        For i = 2 To lastRowABC
            .Range("A" & i).Formula = "=HYPERLINK(""#'ABC'!Z" & i & """, ""ABC!Z" & i & """)"
        Next
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...