VBA для добавления функции гиперссылки к каждой ячейке в столбце - PullRequest
0 голосов
/ 05 мая 2020

Здравствуйте и заранее благодарю вас за вашу помощь. В настоящее время я создал макрос ниже, который обновляет диапазон с помощью функции гиперссылки. Это прекрасно работает. Однако проблема в том, что эти данные обновляются через источник данных. После обновления в столбце A остаются пробелы. Есть ли способ выполнить это при появлении обновленного источника данных?

Sub InsertHyperlinkFormulaInCell()

ActiveWorkbook.Worksheets("Query").Range("A2:A20000").Formula = 
"=HYPERLINK(CONCAT(x2,B2),W2)"

End Sub

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

enter image description here

1 Ответ

1 голос
/ 05 мая 2020

вам нужно l oop по строкам, чтобы изменить гиперссылку в каждой строке, иначе вы просто меняете строку 1. Если вы хотите сохранить ссылку Excel на листе, вы можете просто заменить номер строки в l oop (или, в данном случае, l oop), который иногда бывает неплохо иметь, но он создает неуклюжий код в процессе конкатенации.

Sub InsertHyperlinkFormulaInCell()

    'starting with row 2 since row 1 is title row
    currentRow = 2

    ' cells allows to call columns by number instead of letters (so A becomes 1, B:2 etc.)
    While Cells(currentRow, 2) <> "" 'check whether Column B is empty, stop if it is
        'This is your active line, just replaced the row number 1 with the variable currentRow
        'which loops through the sheet until it encounters and empty cell in column B
        ActiveWorkbook.Worksheets("Sheet1").Cells(currentRow, 1) = "=HYPERLINK(CONCAT(B" & currentRow & ",C" & currentRow & "),D" & currentRow & ")"
        currentRow = currentRow + 1
    Wend

End Sub

Надеюсь, что это поможет

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