我在Excel 2016中使用基于VBA的超链接时遇到了问题。我想在所有其他工作表的前面添加一个“导航”工作表,但我遇到了“ = HYPERLINK”。我的代码如下:VBA Excel - 应用程序或面向对象的错误= HYPERLINK
Dim wbBook As workbook
Dim wsActive As Worksheet
Dim wsSheet As Worksheet
Dim lnRow As Long
Dim lnPages As Long
Dim lnCount As Long
Dim temp As Variant
Set wbBook = ActiveWorkbook
wbBook.Sheets.Add(Before:=Worksheets(1)).Name = "Navigation"
Set wsActive = wbBook.ActiveSheet
With wsActive
.Name = "Navigation"
With .Range("A1:A1")
.Value = VBA.Array("Mitarbeiter")
.Font.Bold = True
End With
End With
lnRow = 2
lnCount = 1
For Each wsSheet In wbBook.Worksheets
If wsSheet.Name <> wsActive.Name Then
wsSheet.Activate
With wsActive
Worksheets("Navigation").Cells(lnRow, 1).Formula = _
"=HYPERLINK(" & Chr(34) & "#" & "'" & wsSheet.Name & "'" & "!A" & lnRow & Chr(34) & ";" & Chr(34) & wsSheet.Name & Chr(34) & ")"
End With
lnRow = lnRow + 1
lnCount = lnCount + 1
End If
Next wsSheet
我的问题是,当我添加一个“=”中HYPERLINK,错误“Anwendungs-奥德objektorientierter Fehler”的前面(应用程序或面向对象的误差)弹出。如果我运行没有“=”的宏,程序可以正常工作,但我必须在导航表中手动添加公式符号。
提前欢呼!
谢谢您的快速回复! 我也尝试了.Add方法,但它没有工作,这就是为什么我试图“手动”解决它。当我运行你的代码时,出现以下消息: 服务器繁忙,由于其他应用程序忙,无法完成操作。更改为...激活其他应用程序并解决问题。 但是如果我继续按“Wechseln zu ...”,没有任何反应。 我不得不提到,我在MS-Project中运行宏,但它不应该成为一个问题,因为我正在写一个excle文件。 – Chris
@Chris MS Project?这个代码? –
是的,这段代码是MS Project中VBA的一部分。我通过宏从MS Project导出数据并将其写入Excel文件中。一切工作正常,只是HYPERLINK前面的公式标志会造成一些麻烦。如果我离开公式符号,该程序工作正常,但如前所述,我必须手动添加“=”来获得公式,这是不方便的;)。 – Chris