ich habe ein Problem mit einer Excel Datei, die viele Arbeitsblätter hat. Auf dem ersten Blatt befindet sich ein Index, der per VBA berechnet wird, von dort aus kommt man per Hyperlink auf die anderen Tabellenblätter. Nun habe ich auf den Tabellenblättern ein Link erstellt, der zurück zum ersten Tabellenblatt verweist. Wenn ich nun auf den Link klicke, komme ich zum ersten Arbeitsblatt, drücke ich nun wieder auf dem ersten Arbeitsblatt auf "Blatt 4" springe ich wieder auf "Blatt 4". Möchte ich nun wieder zurück zum ersten Blatt bekomme ich die Meldung "Bezug ist ungültig". Mir ist aufgefallen, dass bevor das erste Mal der Hyperlink gedrückt wird er so aussiehst ".....Index!Index", wenn ich nun wieder zurückspringe hat sich der Link geändert und heißt nur noch "....Index" !Index fehlt. Ich vermute, dass es am VBA Skript liegt, welches auf der ersten Seiten ausgeführt wird, da immer wenn man auf das Tabellenblatt springt, alle Werte neu berechnet werden. Kann man das irgendwie einstellen, dass er das nur einmal beim öffnen berechnet und wie schaffe ich es, dass die Hyperlinks dann funktionieren.
Über eure Hilfe würde ich mich sehr freuen.
Anbei der Code des VBA Skripts auf dem ersten Tabellenblatt
Martin
Private Sub Worksheet_Activate()
Dim wSheet As Worksheet
Dim l As Long
l = 1
With Me
.Columns(1).ClearContents
.Cells(1, 1) = "INDEX"
.Cells(1, 1).Name = "Index"
End With
For Each wSheet In Worksheets
If wSheet.Name Me.Name Then
l = l + 1
With wSheet
.Range("A1").Name = "Start_" & wSheet.Index
.Hyperlinks.Add Anchor:=.Range("A1"), Address:="", _
SubAddress:="Index", TextToDisplay:="Back to Index"
End With
Me.Hyperlinks.Add Anchor:=Me.Cells(l, 1), Address:="", _
SubAddress:="Start_" & wSheet.Index, TextToDisplay:=wSheet.Name
End If
Next wSheet
End Sub