我正在使用VBA创建Excel中不同工作表中单元格的超链接,当我添加屏幕提示时,一切正常,直到我关闭工作簿。
重新打开后,Excel会进行修复并强制我打开只读。摆脱屏幕提示解决了问题,但屏幕提示非常方便。
有谁知道可能导致这种情况的原因?
Hyperlinks.Add wb.Sheets("Summary").Cells(j, i + 2), "", "'" & i & "'!" & wb.Sheets(i + 1).Cells(3, col).Address, scrTip
编辑:
以下是我用来创建scrTip的代码。
scrTip = ""
For indx = 0 To 4
If TopCost(indx) <= 0 Then Exit For
If indx > 0 Then scrTip = scrTip & vbCrLf
scrTip = scrTip & strTopCost(indx) & " - " & Round(TopCost(indx))
Next indx
数组strTopCost包含的描述可以包含&#34;, - ,&amp;,/,#等符号,而topcost数组包含数字。当scrTip为空时,屏幕提示显示超链接的位置。
答案 0 :(得分:1)
请尝试以下方法:
wb.Sheets("Summary").Hyperlinks.Add _
AnchorAnchor:=Cells(j, i + 2), _
Address:="", _
SubAddress:="'" & i & "'!" & wb.Sheets(i + 1).Cells(3, col).Address, _
ScreenTip:=scrTip
此外,请确保在创建新超链接之前删除任何现有的超链接:
Dim hyp As Hyperlink
For Each hyp In ThisWorkbook.Sheets("Summary").Hyperlinks
hyp.Delete
Next hyp
答案 1 :(得分:0)
我发现了这个问题。一些屏幕提示太长,所以我将它们的长度限制在25个字符之后,之后工作正常。