Похоже, вы используете глобальные публичные переменные. Давайте не будем этого делать, если сможем избежать этого.
Всегда используйте &
для объединения строк в VBA. Используйте +
только для математики. Таким образом, всем ясно, что вы пытаетесь сделать.
Вы жестко кодируете 1 в своем .cells
уравнении, чтобы получить столбец, что странно, потому что вы можете просто объявить вместо него "A".
Давайте использовать объектную модель HyperLink VBA вместоформула ячейки.
ПРИМЕЧАНИЕ. Я не могу полностью проверить свой код вне вашей электронной таблицы.
Option Explicit
Public Sub AddFormulaToCell()
Dim strcelladdress As String
Dim hyperlink1 As String
Dim hyperlink2 As String
Dim hyperlinkfinal As String
Dim columnletter As String
Dim rngTarget As Range
Dim ADVICErow As Integer
Dim CALLrow As Integer
Dim TSHOOTcol As Integer
'columnletter = Split(Worksheets("Troubleshooting Advice").Cells(ADVICErow, 1).Address(True, False), "$")(0)
'columnletter = Right$(columnletter, 1)
columnletter = "A"
strcelladdress = columnletter + CStr(ADVICErow)
hyperlink1 = """#'Troubleshooting Advice'!" & strcelladdress & """"
hyperlink2 = "Link to Troubleshooting Advice"
With Worksheets("Call Examples")
.Hyperlink.Add Anchor:=.Cells(CALLrow, TSHOOTcol), _
Address:=hyperlink1, _
ScreenTip:=hyperlink2, _
TextToDisplay:=hyperlink2
End With
End Sub