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

Forumthread: Sprung in anderes Tabellenblatt

Sprung in anderes Tabellenblatt
19.02.2017 17:02:23
Robert
Ich habe im Blatt01 eine fortlaufender Nummerierung von 1-500 in Spalte A. Dies soll die Datensatznummer wie bei einer Datenbank darstellen.
Die gleiche Spalte habe ich im Blatt02. Dort sind aber nicht alle Datensatznummern vorhanden.
Ich suche eine Funktion, die aus jeder Zeile mittels Button in der Spalte B aus dem Blatt01 in die Spalte B vom Blatt02 in die Zeile mit der gleichen Datensatznummer (Spalte A) springen kann. Nach getaner Änderung in dieser Zeile brauche einen Button, der wieder zurück in Blatt01 in die betreffende Zeile in Spalte C springt.
Ein Beispiel:
Button in B17 vom Blatt01 liest Wert aus A17 ="50" (Datensatznr.=50) und Excel springt in das Blatt02 in die Spalte B der Zeile, wo in Spalte A die Datensatznr. "50" steht.
Rücksprung: Button ebenfalls in Spalte B und Sprung in Zeile mit der gleichen Datensatznummer in das entsprechende Feld in Spalte C.
Ich hoffe, dass ich eine einfache Lösung zum Aufbau einer Datenbank-ähnlichen Anwendung bekommen kann.
Vorab schon "danke". Robert
Anzeige

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sprung in anderes Tabellenblatt
19.02.2017 17:32:01
onur
Hi,
Warum tausende buttons?
Nimm doch z.B. das DoppelKlick event.
Kannst du die datei posten?
AW: Sprung in anderes Tabellenblatt
20.02.2017 17:28:29
Robert
Hallo onur,
ich weiß nicht, ob meine Antwort heute Mittag ordnungsgemäß gesendet wurde. Deshalb hier nochmal:
Erstmal vielen Dank für die schnelle und Antwort und den prima Vorschlag. Da ich (noch) keine Erfahrung mit VBA habe, bin ich von der Funktion im Muster voll überrascht.
Ich habe einen Ausschnitt meiner Datei hochgeladen.
Es wäre schön, wenn Du mir jetzt noch eine Anpassung in den Code schreiben könntest. Folgende optimale Funktion wäre schön:
Man klickt im Blatt "Items_MPE" z.B. im Datensatz 204 auf die Zelle H26 (Ongoing Protocol).
Dann springt in das Blatt "Items_MPE_ARCHIV" zur Zelle D26. Dort kann man die älteren Einträge im fortlaufendem Protokoll lesen. Diese Einträge werden manuell bei zu vielen Einträgen nach dem 2.Blatt kopiert (könnte man sicher uach noch besser machen!).
Per Doppelklick in der Zelle D26 wird dann wieder in das Hauptblatt "Items_MPE" in die Zelle H26 gesprungen.
Falls das zu aufwendig und vielleicht unsicher ist, reicht es mit kleinen Abstrichen auch, die Sprungfunktion nur in der Datensatz-Nr.-Spalte A in beiden Blättern abzuwickeln.
Nochmals danke und viele Grüße
Robert
PS: Noch eine andere Frage: Kann man im Excel die max. Zeilenhöhe ändern?
Anzeige
AW: Sprung in anderes Tabellenblatt
20.02.2017 17:53:33
onur
Hi Robert,
Noch mal zu meiner Frage, die du nicht beantwortet hast:
Warum tausende buttons?
Wieso reicht nicht ein doppelklick.
Bei vb könnte man ein array von buttons machen und in einem gemeinsamen code erfahren, welcher gedrückt wurde, doch wer will sie alle auf die zellen plazieren?
Bei vba geht das aber nur mit grossem Aufwand.
Gruß
Onur
Anzeige
AW: Sprung in anderes Tabellenblatt
20.02.2017 18:27:17
Robert
Hallo,
wie ich in der obigen Antwort beschrieben habe, brauche ich nicht die vielen buttons, da ja mit Deiner Lösung der Doppelklick in der betreffenden Zelle den Sprung auslöst.
Die Aufgabe lautet "nur": nachdem man die Zelle mit dem fortlaufendem Protokoll gelesen hat und noch ältere Einträge zu diesem DS sehen möchte, erfolgt mit dem Doppelklick in der Zelle der Sprung in das ARCHIV auf dem 2.Blatt (...und nach dem lesen wieder per Doppelklick zurück).
Hast Du Zugriff auf meine hochgeladene Excel-Datei?
Gruß
Robert
Anzeige
AW: Sprung in anderes Tabellenblatt
20.02.2017 18:31:10
Robert
Hallo,
wie ich in der obigen Antwort beschrieben habe, brauche ich nicht die vielen buttons, da ja mit Deiner Lösung der Doppelklick in der betreffenden Zelle den Sprung auslöst.
Die Aufgabe lautet "nur": nachdem man die Zelle mit dem fortlaufendem Protokoll gelesen hat und noch ältere Einträge zu diesem DS sehen möchte, erfolgt mit dem Doppelklick in der Zelle der Sprung in das ARCHIV auf dem 2.Blatt (...und nach dem lesen wieder per Doppelklick zurück).
Hast Du Zugriff auf meine hochgeladene Excel-Datei?
Gruß
Robert
Anzeige
AW: Sprung in anderes Tabellenblatt
20.02.2017 18:36:53
Michael
Hallo Robert,
ich sehe keine hochgeladene Datei: im Text ist nirgends ein Link zu sehen.
Außerdem: hast Du meine Testdatei angesehen? Das war die: https://www.herber.de/bbs/user/111581.xlsm
Gruß,
Michael
AW: Sprung in anderes Tabellenblatt
20.02.2017 20:10:34
Robert
Hallo Michael,
sorry, ich bin (noch) unerfahren in der Forum-Nutzung und habe Deinen Vorschlag irrtümlich onur zugeordnet. Darüber habe ich ihn jetzt auch informiert.
Deine Methode lt. der Testdatei ist im Prinzip genau das, was ich suche.
Meine hochgeladene Datei liegt unter https://www.herber.de/bbs/user/111612.xlsm
Folgende optimierte Funktion wäre schön:
1.) Man doppelklickt im Blatt "Items_MPE" z.B. im Datensatz 204 auf die Zelle H26 (Ongoing Protocol).
2.) Excel springt in das Blatt "Items_MPE_ARCHIV" zur Zelle D26. Dort kann man dann die älteren Einträge im fortlaufendem Protokoll lesen. Diese Einträge werden übrigens manuell bei zu vielen Einträgen aus H26 nach dem 2.Blatt kopiert (könnte man sicher auch noch besser machen!).
3.)Per Doppelklick in der Zelle D26 wird dann wieder in das Hauptblatt "Items_MPE" in die Zelle H26 gesprungen.
Zu beachten ist, dass die Zeilennr. in beiden Blättern nicht unbedingt gleich sein wird.
Entscheidend ist, dass innerhalb der gleichen "Datensatznr." gesprungen wird.
Falls das zu aufwendig und vielleicht auch unsicher ist, reicht es mit kleinen Abstrichen auch, die Sprungfunktion nur in der Spalte A in beiden Blättern abzuwickeln. Dann muss der Nutzer, falls er etwas ändern will, eben manuell in die Zelle klicken.
Vielleicht kannst Du mir die Änderung schreiben.
Nochmals danke und Entschuldigung für falsche Zuordnung.
Gruß
Robert
Anzeige
AW: Sprung in anderes Tabellenblatt
20.02.2017 18:39:18
onur
Ich suche und suche, aber sehe nix hochgeladenes.
AW: Sprung in anderes Tabellenblatt
20.02.2017 19:47:50
Robert
Hallo onur,
die Datei liegt unter https://www.herber.de/bbs/user/111612.xlsm.
Ist diese Methode so richtig? Ich muss mich erst mal mit den Regeln zurechtfinden.
Außerdem ist die Testdatei https://www.herber.de/bbs/user/111581.xlsm wohl von Michael (!?).
Die dort dargestellte Funktion entspricht sehr nahe meinen Vorstellungen. Wenn sie nicht von Dir ist, muss ich wohl Michael bitten, die Anpassungen zu machen.
Ist für meine erste echte Forum-Erfahrung hier schon etwas verwirrend, da mehrere involviert sind.
Ich entsculdige michfür das Chaos, bin aber auf der anderen Seite sehr überrascht, welch schnelle und kompetente Unterstützung hier efolgt.
Ich werde dann den Link und meine Ideen auch mal an Michael senden.
Ist so i.O.?
Viele Grüße
Robert
Anzeige
AW: Sprung in anderes Tabellenblatt
21.02.2017 10:38:52
Robert
Hallo onur,
prinzipiell ist das der Weg.
Leider kann man nun aber nicht mehr per Doppelklick die Zellen zum editieren öffnen. Beim Doppelklick wird nun aus allen Zellen der Sprung in die Zelle von Tabelle 4 ausgelöst.
Deshalb bitte ich, falls es möglich ist, noch um eine weitere Optimierung.
Am Beispiel des Datensatzes 103 (Zelle A5) wäre folgender Ablauf gut:
Im Tabelle 3: Doppelklick nur in der Spalte K (leere Zelle K5) zum Sprung nach Tabelle 4 in diesem DS in die leere Zelle E5.
Im Tabelle 4: Doppelklick in Zelle E5 zum Rücksprung in das Tabelle 3 in den gleichem DS (wenn möglich in Zelle H5).
Damit hätte ich eine leere Zelle ähnlich einem Button und könnte die benötigten Zellen in gewohnter Weise bearbeiten.
Wenn dies noch möglich wäre, hätte ich eine sehr gut handhabbare Lösung für mein Problem!
Gruß
Robert
Anzeige
AW: Sprung in anderes Tabellenblatt
21.02.2017 13:18:12
onur
Mach ich, so bald ich zu hause bin.
AW: Sprung in anderes Tabellenblatt
21.02.2017 14:01:29
Robert
Nur mit der Ruhe!!
AW: Sprung in anderes Tabellenblatt
21.02.2017 18:15:16
onur
Was hältst du davon?
Meiner Meinung nach etwas eleganter.
https://www.herber.de/bbs/user/111645.xlsm
Anzeige
AW: Sprung in anderes Tabellenblatt
21.02.2017 19:47:09
Robert
Hallo onur,
dass ist einfach toll. Damit wird die Tabelle ganz komfortabel! Was Excel mit dem knowhow von Experten alles kann. Ich bin von diesem, per Zufall gefundenen Forum, begeistert.
Bei Dir möchte ich mich ganz herzlich für das zügige bearbeiten und die Geduld bei den mehrfachen Optimierungswünschen bedanken!!
Alles Gute, ein herzliches Danke und Grüße
Robert
Anzeige
AW: Sprung in anderes Tabellenblatt
21.02.2017 21:14:53
onur
Hi Robert,
Gern geschehen!
Ales Gute auch Dir.
Gruß
Onur
AW: Sprung in anderes Tabellenblatt
19.02.2017 17:37:38
Werner
Hallo Robert,
Willst du tatsächlich 500 Button auf zwei Blättern drapieren? Wäre es eine Alternative für dich, das ganze mit dem Doppelklick-Ereignis des jeweiligen Blattes zu realisieren?
Beispiel: Doppelklick im Blatt 1, Spalte A auf die entsprechende Nummer, Sprung an die entsprechende Stelle in Blatt 2.
Gruß Werner
Anzeige
Drei Hirne, ein Gedanke
19.02.2017 17:40:51
Michael
Hi,
hier mit Doppelklick: https://www.herber.de/bbs/user/111581.xlsm
Option Explicit
' in Tabelle1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim c As Range
If Target.Column = 1 And Target.Row > 2 And Target.Count = 1 Then
If Target.Value > 1 Then
Set c = Sheets(2).Range("A1:A200").Find _
(what:=Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Sheets(2).Activate
c.Offset(, 1).Select
Else
MsgBox "ID " & Target.Value & " nicht gefunden."
End If
Cancel = True
End If
End If
End Sub

bzw.
Option Explicit
' in Tabelle2
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 And Target.Row > 2 And Target.Count = 1 Then
If Target.Value > 1 Then
Sheets(1).Activate
Sheets(1).Range("A" & Target.Value + 1).Select
Cancel = True
End If
End If
End Sub

Schöne Grüße,
Michael
Anzeige
AW: Drei Hirne, ein Gedanke
19.02.2017 17:55:24
onur
Hi Michael,
Passiert schon mal, dass sich mehrere gleichzeitig auf ein problem "stürzen".
Gruß
Onur
AW: Sprung in anderes Tabellenblatt
19.02.2017 17:47:31
onur
Hi Werner,
bevor du meine Antwort wiederholst, solltest du vielleicht dir den ganzen thread anschauen.
Gruß
Onur
AW: Sprung in anderes Tabellenblatt
19.02.2017 17:54:52
Werner
Hallo Onur,
Danke für den Hinweis, ist aber im konkreten Fall am Problem vorbei. Als ich mit meiner Antwort angefangen habe war dein Beitrag noch nicht da.
Ich hätte vor dem Absenden noch mal aktualisieren sollen.
Gruß Werner
Anzeige
AW: Sprung in anderes Tabellenblatt
19.02.2017 17:56:40
onur
Hi Werner,
Nix passiert!
Gruß
Onur
;

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

Sprung zwischen Tabellenblättern in Excel automatisieren


Schritt-für-Schritt-Anleitung

Um zwischen zwei Tabellenblättern in Excel zu springen, kannst Du das Doppelklick-Ereignis nutzen. Diese Methode ist effizienter als das Erstellen von vielen Buttons. Hier ist eine einfache Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11.
  2. Füge den VBA-Code in das entsprechende Tabellenblatt ein:

    • Wähle im Projektfenster das Blatt aus, in dem Du den Sprung starten möchtest (z.B. Items_MPE).
    • Doppelklicke auf das Blatt und füge den folgenden Code ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim c As Range
    If Target.Column = 1 And Target.Row > 2 And Target.Count = 1 Then
        If Target.Value > 1 Then
            Set c = Sheets("Items_MPE_ARCHIV").Range("A1:A200").Find(what:=Target.Value, LookIn:=xlValues, lookat:=xlWhole)
            If Not c Is Nothing Then
                Sheets("Items_MPE_ARCHIV").Activate
                c.Offset(, 1).Select
            Else
                MsgBox "Datensatznummer " & Target.Value & " nicht gefunden."
            End If
            Cancel = True
        End If
    End If
End Sub
  1. Füge den Rücksprung-Code in das andere Tabellenblatt ein:
    • Wähle das Blatt Items_MPE_ARCHIV und füge diesen Code ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 And Target.Row > 2 And Target.Count = 1 Then
        If Target.Value > 1 Then
            Sheets("Items_MPE").Activate
            Sheets("Items_MPE").Range("A" & Target.Value + 1).Select
            Cancel = True
        End If
    End If
End Sub
  1. Speichere Deine Arbeit und teste den Doppelklick:
    • Schließe den VBA-Editor und kehre zu Excel zurück. Doppelklicke auf eine Zelle in der Datensatznummern-Spalte, um den Sprung zu testen.

Häufige Fehler und Lösungen

  • Fehler: "Datensatznummer nicht gefunden."

    • Lösung: Überprüfe, ob die Datensatznummer in der Spalte A des Zielblatts vorhanden ist.
  • Fehler: Doppelklick öffnet nicht die richtige Zelle.

    • Lösung: Stelle sicher, dass der Code im richtigen Blatt eingefügt wurde und die Bedingungen korrekt sind (z.B. Spalte).
  • Fehler: Excel reagiert nicht.

    • Lösung: Überprüfe, ob der VBA-Editor aktiviert ist und die Makros in Excel erlaubt sind.

Alternative Methoden

Eine alternative Methode besteht darin, Hyperlinks zu verwenden:

  1. Erstelle einen Hyperlink:

    • Markiere die Zelle, in der Du einen Link erstellen möchtest.
    • Klicke mit der rechten Maustaste und wähle "Hyperlink".
    • Wähle "Dieses Dokument" und gib die Zielzelle auf dem anderen Blatt an (z.B. Items_MPE_ARCHIV!A1).
  2. Verwende Schaltflächen:

    • Du kannst auch Formsteuerelemente (Schaltflächen) verwenden und diese mit VBA verknüpfen, um den Sprung zu automatisieren.

Praktische Beispiele

Hier ist ein Beispiel für eine Excel-Anwendung:

  • Du hast ein Blatt Items_MPE mit Datensatznummern in Spalte A und willst beim Doppelklick auf die Zelle in Spalte A zu den Details im Blatt Items_MPE_ARCHIV springen.

  • Code für Items_MPE:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 Then
        ' Code hier für den Sprung
    End If
    End Sub
  • Code für Items_MPE_ARCHIV:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 Then
        ' Code hier für den Rücksprung
    End If
    End Sub

Tipps für Profis

  • Verwende Named Ranges:

    • Anstatt feste Zellreferenzen zu verwenden, kannst Du benannte Bereiche für mehr Flexibilität nutzen.
  • Debugging:

    • Nutze Debugging-Tools im VBA-Editor, um Fehlerquellen schnell zu identifizieren.
  • Makros optimieren:

    • Reduziere die Anzahl der Berechnungen, indem Du nur die notwendigen Zellen überprüfst.

FAQ: Häufige Fragen

1. Wie kann ich die maximale Zeilenhöhe in Excel ändern? Die maximale Zeilenhöhe kann in Excel nicht direkt geändert werden. Du kannst jedoch die Formatierung anpassen, um mehr Platz zu schaffen.

2. Ist es möglich, mehrere Datensätze gleichzeitig zu springen? Standardmäßig ist der Sprung auf einen Datensatz pro Doppelklick ausgelegt. Du kannst jedoch den Code anpassen, um mehrere Zeilen zu berücksichtigen.

3. Welche Excel-Version benötige ich für diese Funktionen? Die beschriebenen Funktionen sind in den meisten Versionen von Excel ab 2010 verfügbar, solange VBA unterstützt wird.

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