我在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