Всем добра. Народ, сильно сложно накидать макрос, который по втыкает гиперссылки в ячейки умной таблицы столбца с именем Name из той же строки, но столбца FileRef? В примере показано, что есть, и что надо получить. Если такое же можно получить как-то вручную, но с массовой обработкой строк с помощью функции ГИПЕРРССЫЛКА или еще как то - велкам.
PooHkrd, приветствую! Ну так да - =ГИПЕРССЫЛКА(адрес; имя)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Sub qq()
Dim cl As Range
With Sheets("Лист1")
For Each cl In .ListObjects("Transform").ListColumns(1).DataBodyRange.Cells
.Hyperlinks.Add cl, cl.Next.Value, , , cl.Value
Next
End With
End Sub
Option Base 1
Option Explicit
Option Private Module
'====================================================================================================
Sub Test()
Dim x, n&, arr, a1d()
arr = [a3:a6].Value2
ReDim a1d(UBound(arr, 1))
For Each x In arr
n = n + 1: a1d(n) = x
Next x
PRDX_Link_CreateInRange [b10:b13], a1d
End Sub
'====================================================================================================
Function PRDX_Link_CreateInRange(rngAdr As Range, Optional arr1dNames) As Boolean ' Replace Address to HyperLink
Dim sh As Worksheet, cl As Range
Dim adr$, nm$, i&, fName As Boolean
Set sh = rngAdr.Worksheet
If IsArray(arr1dNames) Then fName = True: i = LBound(arr1dNames) - 1
For Each cl In rngAdr.Cells
adr = cl.Value2
If fName Then i = i + 1: nm = arr1dNames(i) Else nm = adr
sh.Hyperlinks.add Anchor:=cl, Address:=adr, TextToDisplay:=nm
Next cl
PRDX_Link_CreateInRange = True
End Function
'====================================================================================================
Улучшенный вариант функции. Можно задать одинаковое имя для для всех. Нет в файле
Код
Function PRDX_Link_CreateInRange(rngAdr As Range, Optional arr1dNamesOrConst) As Boolean ' Replace Address to HyperLink
Dim sh As Worksheet, cl As Range
Dim adr$, nm$, i&, fArr As Boolean, fConst As Boolean
Set sh = rngAdr.Worksheet
Select Case True
Case IsArray(arr1dNamesOrConst): fArr = True: If UBound(arr1dNamesOrConst) - LBound(arr1dNamesOrConst) + 1 = rngAdr.Cells.Count Then i = LBound(arr1dNamesOrConst) - 1 Else Stop: End
Case TypeName(arr1dNamesOrConst) = "String": fConst = True
End Select
For Each cl In rngAdr.Cells
adr = cl.Value2
Select Case True
Case fArr: i = i + 1: nm = arr1dNamesOrConst(i)
Case fConst: nm = arr1dNamesOrConst
Case Else: nm = adr
End Select
sh.Hyperlinks.add Anchor:=cl, Address:=adr, TextToDisplay:=nm
Next cl
PRDX_Link_CreateInRange = True
End Function
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
PooHkrd, всегда пожалуйста — и ты меня не раз выручал
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄