Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mit Doppelklick auf anderes Arbeitsblatt springen

Mit Doppelklick auf anderes Arbeitsblatt springen
28.01.2020 11:43:15
Wolfgang
Hallo alle,
wie springe ich von einer Zelle des Blattes Monat auf eine Zelle des zumeist ausgeblendeten Blattes Planung, wenn die relevanten Zellen auf Monat B10:B150 sind und das Ziel auf Planung A15:A150?
Ich habe für jeden Monat ein Blatt und ein weiteres für Planung.
Die Aufgabe ist:
Wenn Doppelklick auf Zelle B10 des aktiven Blattes Monat, blende das Arbeitsblatt Planung ein (nur falls ausgeblendet), und gehe zur Zelle A15 auf dem Blatt Planung (nunmehr aktives Blatt).
Das gilt für jede Zelle in Monat von B10 bis B150 (entspricht dem Ziel im Blatt Planung von A15 bis A150).
Der Code kommt in jedes Objekt Monat (Jän.-Dez.). Folgendes Codebeispiel funktioniert, müsste aber für jede relevante Zelle B10:B150 in jedes Objekt geschrieben werden:
If Target.Address = "$B$18" And Sheets("Planung").Visible = False Then Call Planung_einblenden
If Target.Address = "$B$18" Then
ThisWorkbook.Sheets("Planung").Activate
Application.Goto Reference:=Sheets("Planung").Range("A4"), Scroll:=True

Kann mir da jemand helfen, um pro Monat nur einen kurzen Code einzugeben?
Danke euch,
Wolfgang
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Doppelklick auf anderes Arbeitsblatt springen
28.01.2020 11:58:11
Torsten
Hallo Wolfgang,
erst mal solltest du die Bereichsgroessen anpassen
wenn die relevanten Zellen auf Monat B10:B150 sind und das Ziel auf Planung A15:A150

Das sollte entweder sein B10:B150 und A10:A150 oder B10:B150 und A15:A155. Sonst fehlen dir die Bezugszellen fuer die Zellen B146 bis B150.
Gruss Torsten
Anzeige
AW: Mit Doppelklick auf anderes Arbeitsblatt springen
28.01.2020 14:12:03
Torsten
Also wenn es immer z.B. von B10 zu A15, B11 zu A16, B12 zu A17 (also im Zielsheet immer 5 Zeilen weiter als im Ausgangssheet) geht, dann kannst du das z.B. so machen und kannst folgenden Code in allen Sheets fuer die Monate verwenden. Solltest du aber immer unterschiedliche Zellen ansprechen, dann wirds umfangreicher, da es kein eindeutiges Muster gibt.

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lngZelle As Long
lngZelle = Target.Row
If Target.Column = 2 Then
If lngZelle >= 10 And lngZelle 

Anzeige
AW: Mit Doppelklick auf anderes Arbeitsblatt springen
28.01.2020 15:04:39
Wolfgang
Danke Torsten,
dein Code würde sehr gut funktionieren, aber tatsächlich habe ich keinen einheitlichen Zeilensprung von den Quellblättern zum Zielblatt.
Gruss Wolfgang
AW: Mit Doppelklick auf anderes Arbeitsblatt springen
29.01.2020 07:30:31
Torsten
Ja dann wird das so nichts. Man muesste fuer jeden Sprung eine eigene Zeile schreiben im Code z.B. mit Select Case. Das ist nicht mehr sinnvoll.
Anzeige
AW: Mit Doppelklick auf anderes Arbeitsblatt springen
29.01.2020 19:39:11
Wolfgang
Ich habe mir folgende Lösung ausgedacht: Ich schreibe für jede Zeile im Quell-Blatt einen kurzen Code, der eine kleine Prozedur in einem Modul startet:
If Target.Address = "$A$5" Then Call Planung_3

Die Prozeduren im Modul sind für alle 12 Monate gleich. Funktioniert, ist nicht so viel Arbeit und auch nicht gar so viel Code.
Dank nochmals und weiter geht's :-)
Gruss Wolfgang
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mit Doppelklick auf anderes Arbeitsblatt springen


Schritt-für-Schritt-Anleitung

  1. Öffne das Excel-Dokument, in dem Du die Funktion implementieren möchtest.

  2. Klicke mit der rechten Maustaste auf das Blatt „Monat“ und wähle „Code anzeigen“.

  3. Füge den folgenden VBA-Code in das entsprechende Codefenster ein:

    Option Explicit
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Dim lngZelle As Long
       lngZelle = Target.Row
       If Target.Column = 2 Then ' Überprüfen, ob die Doppelklick-Zelle in Spalte B ist
           If lngZelle >= 10 And lngZelle <= 150 Then
               If Sheets("Planung").Visible = False Then Sheets("Planung").Visible = True
               ThisWorkbook.Sheets("Planung").Activate
               Application.Goto Reference:=Sheets("Planung").Cells(lngZelle + 5, 1), Scroll:=True
               Cancel = True ' Verhindert den Editiermodus
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor und teste die Funktion, indem Du in eine Zelle in Spalte B (z.B. B10) doppelklickst. Der Code sollte das Blatt „Planung“ einblenden und zur gewünschten Zelle springen.


Häufige Fehler und Lösungen

  • Fehler: Es passiert nichts beim Doppelklick.

    • Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblattmodul eingefügt wurde.
  • Fehler: Das Arbeitsblatt „Planung“ wird nicht angezeigt.

    • Lösung: Überprüfe, ob das Blatt tatsächlich ausgeblendet ist, oder passe den Sichtbarkeitsstatus im Code an.
  • Fehler: Der Sprung erfolgt nicht zur richtigen Zelle.

    • Lösung: Überprüfe den Code und die Logik, die den Zeilenverweis bestimmt. Stelle sicher, dass die korrekten Zeilennummern verwendet werden.

Alternative Methoden

Falls Du eine andere Methode testen möchtest, kannst Du auch Hyperlinks in Zellen verwenden, um zu einem anderen Blatt zu springen. Dies ist einfach und benötigt keinen VBA-Code.

  1. Klicke mit der rechten Maustaste auf die Zelle, in der Du den Hyperlink erstellen möchtest.
  2. Wähle „Hyperlink“ und dann „Dokument“ oder „Aktuelles Dokument“.
  3. Wähle das Zielblatt und die Zielzelle aus.

Praktische Beispiele

Um die Funktionalität weiter zu verdeutlichen, hier ein Beispiel:

  • Wenn Du in Zelle B10 auf dem Blatt „Monat“ doppelklickst, wird das Blatt „Planung“ geöffnet und die Zelle A15 aktiviert. Dies setzt voraus, dass Du die Zeilenanpassung im Code entsprechend konfiguriert hast.

Tipps für Profis

  • Nutze „Select Case“, wenn Du komplexere Logiken benötigst. Dies bietet eine bessere Übersichtlichkeit, vor allem wenn Du viele unterschiedliche Sprünge hast.

  • Halte den Code modular, indem Du separate Prozeduren für verschiedene Sprünge erstellst und diese dann im Hauptcode aufrufst.

  • Teste Deinen Code gründlich, um sicherzustellen, dass alle Kantenfälle abgedeckt sind.


FAQ: Häufige Fragen

1. Wie kann ich den VBA-Code in Excel einfügen? Du kannst den VBA-Code über den Visual Basic for Applications (VBA) Editor einfügen, indem Du mit der rechten Maustaste auf das entsprechende Blatt klickst und „Code anzeigen“ wählst.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, dieser VBA-Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen.

3. Kann ich den Doppelklick auch für andere Spalten nutzen? Ja, passe die Bedingung If Target.Column = 2 Then an, um die gewünschte Spalte anzusprechen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige