Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hyperlink - Bezug ist ungültig VBA Problem?

Hyperlink - Bezug ist ungültig VBA Problem?
Martin
Hallo liebe Forum-Mitglieder,
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


Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
ungetestet: ohne Name?
25.06.2009 15:19:37
Florian
Hi Martin,
probier doch mal
SubAddress:="'Index'!R1C1"
also ohne Name, einfach irgendeine Zelle, dafür mit Sheetname. (habs nicht ausprobiert).
Gruss Florian
AW: ungetestet: ohne Name?
25.06.2009 15:26:57
Martin
Also die Links auf der anderen Arbeitsblättern erstelle ich ohne VBA. Ganz normal Rechte Maustaste -- Hyperlink -- Aktuelles Dokument -- (oder wählen Sie die Stelle im Dokument) Zellbezug -- Index
Anzeige
Gibs mal so ein..
25.06.2009 16:04:41
Florian
Du musst ja auch hier den Bezug eingeben. Gib mal statt dem Namen Index einfach "'Index'!R1C1" bzw. "'Index'!A1" ein, also
"Name Worksheet" + "!" + irgendeine Zelle auf dem Sheet
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Hyperlink-Probleme in Excel: Ungültige Bezüge beheben


Schritt-für-Schritt-Anleitung

Um das Problem mit dem ungültigen Bezug in Excel zu beheben, folge diesen Schritten:

  1. Überprüfung des VBA-Codes: Stelle sicher, dass der VBA-Code korrekt ist. Insbesondere der Abschnitt, der Hyperlinks erstellt. Der Code sollte die korrekten Zellbezüge verwenden.
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
  1. Hyperlink mit Zellbezug anpassen: Ändere den Hyperlink, indem du anstelle des Namens "Index" den Zellbezug verwendest, z.B. "'Index'!R1C1" oder "'Index'!A1".

  2. Testen der Hyperlinks: Teste die Hyperlinks, um sicherzustellen, dass sie nun korrekt funktionieren. Wenn du auf „Blatt 4“ und zurück zum Index gehst, sollte die Fehlermeldung "Bezug ist ungültig" nicht mehr erscheinen.


Häufige Fehler und Lösungen

  • Fehlermeldung "Bezug ist ungültig": Dies passiert häufig, wenn der Hyperlink nicht korrekt auf die Zelle verweist. Überprüfe, ob die Zielzelle existiert und der Bezug korrekt formatiert ist.

  • Excel lässt sich nicht schließen: Manchmal kann die Fehlermeldung dazu führen, dass Excel nicht ordnungsgemäß reagiert. In diesem Fall solltest du versuchen, die Datei zu speichern und Excel neu zu starten.

  • VBA-Skript läuft nicht wie erwartet: Wenn das Skript nicht funktioniert, stelle sicher, dass du die Berechtigungen für Makros in Excel aktiviert hast.


Alternative Methoden

Falls die VBA-Lösung nicht funktioniert, kannst du auch andere Methoden ausprobieren:

  • Manuelle Erstellung von Hyperlinks: Klicke mit der rechten Maustaste auf die Zelle, wähle „Hyperlink“ und gib den Zellbezug manuell ein, z.B. "'Index'!A1".

  • Verwendung von Excel-Formeln: Eine andere Möglichkeit wäre, die Hyperlinks mittels der HYPERLINK-Funktion zu erstellen, um so die Steuerung über die Zellbezüge zu behalten.


Praktische Beispiele

Hier sind ein paar Beispiele, wie du Hyperlinks korrekt erstellen kannst:

  1. Beispiel für einen Hyperlink zum Index:
=HYPERLINK("#'Index'!A1", "Zurück zum Index")
  1. Beispiel für einen Hyperlink zu einer anderen Zelle:
=HYPERLINK("#'Blatt 2'!B1", "Gehe zu Blatt 2")

Diese Formeln helfen dir dabei, sicherzustellen, dass die Hyperlinks immer auf die korrekten Zellen verweisen.


Tipps für Profis

  • Überprüfung der Links regelmäßig: Überprüfe regelmäßig, ob die Hyperlinks noch gültig sind, besonders wenn du oft Änderungen an der Struktur deiner Arbeitsmappe vornimmst.

  • Namen für Zellen verwenden: Verwende benannte Bereiche für häufig verwendete Zellbezüge, um die Lesbarkeit deiner Hyperlinks zu verbessern.

  • Debugging im VBA-Code: Nutze die Debugging-Funktionen in VBA, um Fehler im Code zu finden, insbesondere beim Erstellen von Hyperlinks.


FAQ: Häufige Fragen

1. Warum erhalte ich die Meldung "Bezug ist ungültig"? Diese Meldung tritt auf, wenn der Hyperlink auf eine Zelle verweist, die nicht existiert oder falsch formatiert ist. Überprüfe die Hyperlink-Formel oder den VBA-Code.

2. Wie kann ich ungültige Hyperlinks in Excel finden? Du kannst die Funktion „Suchen“ verwenden, um nach Hyperlinks in deiner Arbeitsmappe zu suchen. Überprüfe alle Zellbezüge, um sicherzustellen, dass sie korrekt sind.

3. Was tun, wenn Excel nicht reagiert? Wenn Excel nicht reagiert, versuche die Datei zu speichern und schließe Excel über den Task-Manager. Überprüfe anschließend die Hyperlinks in der Datei.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige