Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Link zu Tabellenblatt aus Zelle heraus mit Makro?

Link zu Tabellenblatt aus Zelle heraus mit Makro?
25.07.2017 00:48:48
Sascha
Hallo liebe Gemeinde,
Ich benötige etwas Hilfe bei einem Problem, was ich mit meinen Kenntnissen und Google nicht mehr lösen kann.
Ich führe eine Art Kundendatei mittels Excel. Ich weiß, dass dies nicht unbedingt die Perfekte Anwendung dafür ist, aber Access steht mir nicht zur Verfügung.
Ich habe ein Tabellenblatt, welches ca. 300 Datensätze enthält, in der ersten Spalte steht eine KundenNummer, in den folgenden Spalten Namen, etc. und ein Wiedervorlagedatum. Für jeden Kunden habe ich ein einzelnes Tabellenblatt angelegt. Darin sind Daten hinterlegt, wann dieser Kunde noch einmal zu bearbeiten ist. Dieses Wiedervorlagedatum wird automatisch in das Stammdatenblatt übertragen.
In einem zweiten Blatt habe ich eine Tabelle angelegt, die mir die Datensätze ausgibt, die heute zu bearbeiten sind. In Spalte A stehen die heute fälligen Kundennummern, übertragen aus dem Stammdatenblatt. Das funktioniert ohne Probleme. Die Tabelle wird jeden Tag wieder mit den dann zu bearbeitenden Kunden gefüllt.
Um nun in das Datenblatt des Kunden zu gelangen bleibt nur der Umweg, den Wert z.B. aus Zelle A7 zu kopieren und über die Suchfunktion einzufügen und suchen zu lassen. Das ist super umständlich. Ich würde das gerne über einen Button, der in der gleichen Zeile angelegt wird, mit einem Klick erledigen. Ich klicke auf einen Button und springe in gewünschtes Tabellenblatt, wobei der Name des Blattes in A7 steht, allerdings als Ergebnis einer Formel. Meine Kenntnisse in VBA beschränken sich leider auf den Makro-Rekorder.
Ist das umzusetzen und wenn ja, wie?
Herzlichen Dank im Voraus!!!
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Link zu Tabellenblatt aus Zelle heraus mit Makro?
25.07.2017 06:04:18
Crazy
Hallo
dafür brauchts keinen Button
mach es per Doppelklick
in meinem Test stehen die Blattnamen in Spalte A
hier ohne Prüfung ob das Blatt auch existiert
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Columns(1)) Is Nothing Then
Sheets(Target.Text).Activate
End If
End Sub
MfG Tom
Anzeige
AW: Link zu Tabellenblatt aus Zelle heraus mit Makro?
25.07.2017 09:38:43
Sascha
Vielen Dank für die schnellen Antworten. Crazy Tom, es funktioniert genauso wie es soll. Wie kriege ich noch eine Prüfung rein, bzw. den Hinweis, wenn ein Blatt noch nicht existiert? Das wäre praktisch für das Stammdatenblatt, dann kann ich mir da nämlich die Verlinkung sparen.
AW: mit Doppelklick auf A7 ...
25.07.2017 09:43:03
Sascha
Danke für die Idee, der Umweg über die Dropdown Liste ist zwar auch charmant, aber das führt in meinem konkreten Fall auch wieder zu mehr Klicks als notwendig. Ich bin immer wieder fasziniert, was so mit VBA machbar ist. Vielen Dank nochmals!!!
Du solltest ja auch kein DropDown erstellen
25.07.2017 10:04:58
Matthias
Hallo
Das war ein Beispiel
Wie der Kunden-Name in die Zelle A7 kommt ist doch nicht relevant.
Es ging nur darum, das Du durch Doppeklick in die Zelle A7
das entsprechende Registerblatt aktivierst, dessen Name in A7 steht.
Desweiteren ist die Abfrage schon mit drin, ob das Blatt existiert.
Gruß Matthias
Anzeige
AW: Du solltest ja auch kein DropDown erstellen
25.07.2017 10:34:24
Sascha
Hi,
das hatte ich verstanden, wie schon erwähnt, meine VBA Kenntnisse sind rudimentär bis gar nicht vorhanden. So wie ich das verstehe bezieht sich das nur auf die Zelle A7, es müsste sich aber auf alle Zellen von A4 bis A60 beziehen. Wenn du mir noch sagst, wie ich das da reinbekommen, dann ist das tatsächlich perfekt.
Gruß Sascha
Anzeige
AW: Du solltest ja auch kein DropDown erstellen
25.07.2017 10:36:59
Crazy
Hallo
so würde es dann nach Matthias' Code für die Spalte A aussehen
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim x As Long, MyBool As Boolean
If Not Intersect(Target, Columns(1)) Is Nothing Then
Cancel = True
For x = 1 To Worksheets.Count
If Worksheets(x).Name = Target.Value Then
Worksheets(x).Select
MyBool = True
Exit For
End If
Next
If Not MyBool Then MsgBox "Blatt exisistiert nicht"
End If
End Sub
MfG Tom
Anzeige
AW: Du solltest ja auch kein DropDown erstellen
25.07.2017 10:39:05
Sascha
GRANDIOS!!! DANKE DANKE DANKE!!!
AW: Du solltest ja auch kein DropDown erstellen
25.07.2017 10:45:07
Sascha
Mist zu früh gefreut, jetzt sagt er bei jedem klick, dass das Blatt nicht vorhanden ist, obwohl es da ist.
AW: Du solltest ja auch kein DropDown erstellen
25.07.2017 10:48:03
Crazy
Hallo
kann ich nicht nachvollziehen
die Blattnamen stehen richtig in der Zelle?
MfG Tom
Anzeige
AW: Du solltest ja auch kein DropDown erstellen
25.07.2017 10:53:49
Sascha
Ja, mit der ersten Version von dir läuft es auch, bis auf die Messagebox, bei dieser kommt sofort der Hinweis, Blatt existiert nicht...
AW: Du solltest ja auch kein DropDown erstellen
25.07.2017 10:56:09
Crazy
Hallo
da würde sicher eine Beispieldatei, beim helfen, helfen
so ist es nur raten
MfG Tom
AW: Du solltest ja auch kein DropDown erstellen
27.07.2017 22:37:46
Sascha
Ich hab keine Ahnung warum, dafür reichen meine Kenntnisse nicht aus, aber er schmeißt mir bei jeder Zelle die MsgBox raus. Ich habe jetzt den ersten Code verwendet und es funktioniert damit ja auch. Die Box wäre zwar gut, aber davon hängen keine Leben ab. Danke nochmal, wenn du noch Lust und Zeit hast, würde ich mich über eine Lösung freuen, wenn nicht, ist auch nicht schlimm.
Grüße Sascha
Anzeige
Hast Du meinen letzten Beitrag nicht gelesen? owT
27.07.2017 23:19:13
Matthias
AW: Hast Du meinen letzten Beitrag nicht gelesen? owT
27.07.2017 23:34:29
Sascha
Bin mir gerade nicht sicher, ob ich es mit dem Code versucht hatte, ich meine ja mit dem gleichen Ergebnis. Ich versuche es morgen nochmal. Ist im Moment etwas stressig, daher komm ich nicht so schnell dazu. Ich sag morgen bescheid. Danke!
Bereich referenzieren ...
25.07.2017 10:58:06
Matthias
Hallo
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim x As Long, MyBool As Boolean
If Not Intersect(Target, Range("A4:A60")) Is Nothing Then 'nur in diesem Bereich
If Target.Value = "" Then Exit Sub 'bei leeren Zellen abbrechen
Cancel = True
For x = 1 To Worksheets.Count
If Worksheets(x).Name = Target.Value Then
Worksheets(x).Select
MyBool = True
Exit For
End If
Next
If Not MyBool Then MsgBox "Blatt exisistiert nicht"
End If
End Sub

Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel: Verlinkung zu Tabellenblättern mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe zu dem Arbeitsblatt, in dem du die Verlinkung einrichten möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Wähle das entsprechende Arbeitsblatt aus der Projektansicht, in dem du die Verlinkung implementieren möchtest.

  4. Füge den folgenden VBA-Code ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Dim x As Long, MyBool As Boolean
       If Not Intersect(Target, Range("A4:A60")) Is Nothing Then ' nur in diesem Bereich
           If Target.Value = "" Then Exit Sub ' bei leeren Zellen abbrechen
           Cancel = True
           For x = 1 To Worksheets.Count
               If Worksheets(x).Name = Target.Value Then
                   Worksheets(x).Select
                   MyBool = True
                   Exit For
               End If
           Next
           If Not MyBool Then MsgBox "Blatt existiert nicht"
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu deinem Excel-Blatt zurück.

  6. Teste die Funktion, indem du einen Doppelklick auf eine Zelle im Bereich A4:A60 machst, die den Namen eines anderen Arbeitsblatts enthält.


Häufige Fehler und Lösungen

  • Fehler: "Blatt existiert nicht"

    • Lösung: Überprüfe, ob der Blattname exakt mit dem Namen übereinstimmt, der in der Zelle steht. Achte auf Leerzeichen und Groß-/Kleinschreibung.
  • Fehler: Doppelklick funktioniert nicht

    • Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblatt-Modul eingefügt wurde.

Alternative Methoden

  • Hyperlink nutzen: Du kannst auch Hyperlinks verwenden, um zu einem anderen Tabellenblatt zu springen, ohne VBA zu nutzen. Dies kannst du über die Funktion =HYPERLINK("#'Tabellenblattname'!A1", "Linktext") realisieren.

  • Formelbasierte Verlinkungen: In Excel kannst du auch Daten aus einem anderen Blatt referenzieren, indem du die Formel ='Tabellenblattname'!A1 verwendest.


Praktische Beispiele

  • Beispiel für einen Hyperlink:

    =HYPERLINK("#'Kundenblatt'!A1", "Zum Kundenblatt")
  • VBA für einen Button:

    Sub GeheZuKundenblatt()
       Sheets("Kundenblatt").Activate
    End Sub

Tipps für Profis

  • Verwende Datenüberprüfung: Stelle sicher, dass nur gültige Blattnamen in den Zellen stehen, indem du die Datenüberprüfung in Excel nutzt.

  • Fehlerbehandlung im VBA: Füge erweiterte Fehlerbehandlungsroutinen hinzu, um die Nutzung zu optimieren und den Benutzern klare Hinweise zu geben.

  • Dokumentation der VBA-Funktionen: Halte deine Codes gut dokumentiert, damit andere oder du selbst später die Logik nachvollziehen kannst.


FAQ: Häufige Fragen

1. Wie kann ich einen Hyperlink zu einem Tabellenblatt ohne VBA erstellen? Du kannst die HYPERLINK-Funktion verwenden, um direkt auf eine Zelle in einem anderen Tabellenblatt zu verlinken.

2. Was mache ich, wenn ich einen Fehler beim Doppelklick erhalte? Überprüfe, ob der Blattname in der Zelle korrekt eingegeben ist und ob er sich im angegebenen Bereich (A4:A60) befindet.

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