超链接在工作簿中给出错误“引用无效”

时间:2017-08-29 07:40:39

标签: excel excel-vba hyperlink vba

我创建了一个代码,它将遍历工作簿中的所有工作表,并按图表名称列出所有图表以及工作表名称 这段代码工作正常。

现在我想创建一个图表名称的超链接,这样当我点击它时,它会将我引导到完全放置它的图表。

下面提到的代码正在创建一个超链接,但当我点击它时,它会给出一条消息“参考无效”

我想下面提到的行需要修改:

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

1 个答案:

答案 0 :(得分:1)

而不是

settings: {
    analysis: {
        analyzer: {
            lowerCase: {
                tokenizer: 'whitespace',
                filter: ['lowercase']
            }
        }
    }
},
mappings: {
    // used for _all field
    _default_: {
        index_analyzer: 'lowerCase'
    },
    entry: {
        properties: {
            id: { type: 'string', analyzer: 'lowerCase' },
            type: { type: 'string', analyzer: 'lowerCase' },
            name: { type: 'string', analyzer: 'lowerCase' }
        }
    }
}

使用

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是图表的地址。