我有一个超链接vba代码,可在单击时激活隐藏的工作表。但由于某些原因,每次我跑,我都会收到一个错误
"下标超出范围"
代码行Worksheets(MySheet).Visible = xlSheetVisible
代码是
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Linkto = Target.SubAddress
Name = InStr(1, Linkto, "!")
If Name > 0 Then
MySheet = Left(Linkto, Name - 1)
Worksheets(MySheet).Visible = xlSheetVisible
Worksheets(MySheet).Select
MyAddr = Mid(Linkto, Name + 1)
Worksheets(MySheet).Range(MyAddr).Select
End If
End Sub
答案 0 :(得分:2)
您应该避免使用变量名称,例如" Name"这可能是保留的话。在这种特殊情况下,我猜Name会引用当前的工作表(设置超链接的工作表)
通过替换变量" Name"来尝试相同的代码。例如," myName"
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Linkto = Target.SubAddress
myName = InStr(1, Linkto, "!")
If myName > 0 Then
MySheet = Left(Linkto, myName - 1)
Worksheets(MySheet).Visible = xlSheetVisible
Worksheets(MySheet).Select
MyAddr = Mid(Linkto, myName + 1)
Worksheets(MySheet).Range(MyAddr).Select
End If
end sub
并且,作为建议,
希望能解决您的问题......