Я перевел эту формулу в VBA для использования в качестве переменной с методом FollowHyperlink:
=SUBSTITUTE(INDEX(Sites[Base], MATCH([@Site], Sites[Site], 0)), "*", [@Variable])
Как я могу сослаться на Selection.Offset(0, -1)
по имени столбца (в случае изменения структуры таблицы)?
Dim sSite As String
If Not Intersect(Target, tb.ListColumns("Variable").DataBodyRange) Is Nothing Then
Cancel = True
sSite = WorksheetFunction.Substitute(WorksheetFunction.Index(Range("Sites[[Base]]") _
, WorksheetFunction.Match(Selection.Offset(0, -1), Range("Sites[[Site]]"), 0)), "*", "" & ActiveCell.Value & "")
ThisWorkbook.FollowHyperlink (sSite)
End If
Кроме того, как я могу справиться со случаем, когда нет сайта?Это не ограничено столбцом Переменная:
If Intersect(Target, tb.ListColumns("Variable").DataBodyRange) <> "" And Selection.Offset(0, -1) <> "" Then