在工作簿中给出错误“引用无效”的超链接
问题描述:
我创建了一个代码,它将循环遍历工作簿中的所有工作表,并按图表名称列出所有图表以及工作表名称 此代码工作正常。在工作簿中给出错误“引用无效”的超链接
现在我想要创建一个图表名称的超链接,这样当我点击它时,它会将我引导到图表所在的位置。
下面提到的代码创建一个超链接,但是当我点击它,然后它给消息“引用无效”
我猜下面提到行需要修改:
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & .ChartObjects(lngC).name & "'" & "!A1", TextToDisplay:=.ChartObjects(lngC).name
请建议。
总体代码:
Sub Chartlist()
Dim wks As Worksheet
Dim lngS As Long, lngC As Long, lngX As Long
Set wks = ActiveWorkbook.Worksheets.Add
For lngS = 1 To ActiveWorkbook.Sheets.count
With ActiveWorkbook.Sheets(lngS)
For lngC = 1 To .ChartObjects.count
lngX = lngX + 1
wks.Cells(lngX, 1).Value = .name
wks.Cells(lngX, 2).Value = .ChartObjects(lngC).name
wks.Cells(lngX, 2).Activate
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & .ChartObjects(lngC).name & "'" & "!A1", TextToDisplay:=.ChartObjects(lngC).name
Next lngC
End With
Next lngS
wks.Columns(1).WrapText = False
wks.Columns(1).EntireColumn.AutoFit
Set wks = Nothing
End Sub
答
代替
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & .ChartObjects(lngC).Name & "'" & "!A1", TextToDisplay:=.ChartObjects(lngC).Name
使用
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & .ChartObjects(lngC).Parent.Name & "'" & "!" & Range(.ChartObjects(lngC).TopLeftCell, .ChartObjects(lngC).BottomRightCell).Address(0, 0), _
TextToDisplay:=.ChartObjects(lngC).Name
其中,.ChartObjects(lngC).Parent.Name
是片名称,其中图表存在并且 Range(.ChartObjects(lngC).TopLeftCell, .ChartObjects(lngC).BottomRightCell).Address(0, 0)
为c的地址哈特。
首先删除activate和activecell,只加入两行代码。 – Luuklag