我目前正在使用此代码链接用户在输入框的帮助下选择的两个单元格。
问题是,所选单元格不能包含公式,也不允许在其中包含数字。该代码仅适用于包含文本(即“某些文本”)的单元格。如果我想要链接的单元格中有数字或公式,我会收到“运行时错误 5 - 无效的过程调用或参数”,将我指向ActiveSheet.Hyperlinks.Add
代码部分。
任何人都知道为什么此代码不适用于带有公式或数值的单元格?
Sub InsertHyperlinks(control As IRibbonControl)
Dim FirstHyperlink As Range
Dim SecondHyperlink As Range
Dim FirstSheet As Worksheet
Dim SecondSheet As Worksheet
Set FirstHyperlink = Application.InputBox("Please select first cell to contain hyperlink" & vbCrLf & vbCrLf & _
"NOTE: Hyperlinks can only be added on text and not on cells containing formulas!", "Hyperlink 1 selection", Type:=8)
If FirstHyperlink Is Nothing Then
Exit Sub
Else
Set FirstSheet = FirstHyperlink.Worksheet
End If
Set SecondHyperlink = Application.InputBox("Please select second cell to contain hyperlink", "Hyperlink 2 selection", Type:=8)
If SecondHyperlink Is Nothing Then
Exit Sub
Else
Set SecondSheet = SecondHyperlink.Worksheet
End If
ActiveSheet.Hyperlinks.Add Anchor:=FirstHyperlink, Address:="", SubAddress:= _
"'" & SecondSheet.Name & "'" & "!" & SecondHyperlink.Address, TextToDisplay:=FirstHyperlink.Value
ActiveSheet.Hyperlinks.Add Anchor:=SecondHyperlink, Address:="", SubAddress:= _
"'" & FirstSheet.Name & "'" & "!" & FirstHyperlink.Address, TextToDisplay:=SecondHyperlink.Value
End Sub
当使用宏记录器并链接两个单元格(数字或公式)时,我得到的超链接部分的代码基本上相同,这就是为什么我不明白为什么我的 VBA 会出现运行时错误?!
产生错误TextToDisplay:=SecondHyperlink.Value
不是因为它包含公式,而是因为它包含返回非文本类型的公式。
将其替换为
TextToDisplay:=CStr(SecondHyperlink.Value)
解决问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句