Hyperlinks(1).Parent
как диапазон
Hyperlinks(1).Parent.Parent
как лист
Итак, ваш код должен быть:
With ActiveSheet
.Cells(1, 1).Value = "+"
'''No need to test as you fill it yourself
.Hyperlinks.Add Anchor:=.Cells(1, 1), Address:=strString
End If
Листовой модуль:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Parent.Value = "+" Then _
Target.Parent.Parent.Rows(Target.Parent.Row + 1).Insert CopyOrigin:=xlFormatFromRightOrBelow
End Sub
или короче:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Parent.Value = "+" Then _
Me.Rows(Target.Parent.Row + 1).Insert CopyOrigin:=xlFormatFromRightOrBelow
End Sub
Я добавил параметр CopyOrigin
, чтобы скопировать формат из строки ниже, чтобы избежать воспроизведения стиля гиперссылки во вновь вставленной строке!
CopyOrigin
принимает любой из параметров, как указано ниже:
Const xlFormatFromLeftOrAbove = 0
Member of Excel.XlInsertFormatOrigin
а также
Const xlFormatFromRightOrBelow = 1
Member of Excel.XlInsertFormatOrigin