Microsoft Excel

Herbers Excel/VBA-Archiv

Mit Doppelklick auf anderes Arbeitsblatt springen

Betrifft: Mit Doppelklick auf anderes Arbeitsblatt springen von: Wolfgang
Geschrieben am: 28.01.2020 11:43:15

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

Betrifft: AW: Mit Doppelklick auf anderes Arbeitsblatt springen
von: Torsten
Geschrieben am: 28.01.2020 11:58:11

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

Betrifft: AW: Mit Doppelklick auf anderes Arbeitsblatt springen
von: Torsten
Geschrieben am: 28.01.2020 14:12:03

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 <= 150 Then
        Sheets("Planung").Activate
        Application.Goto Reference:=Sheets("Planung").Range("A" & lngZelle + 5), Scroll:=True
    End If
End If

Cancel = True

End Sub


Betrifft: AW: Mit Doppelklick auf anderes Arbeitsblatt springen
von: Wolfgang
Geschrieben am: 28.01.2020 15:04:39

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

Betrifft: AW: Mit Doppelklick auf anderes Arbeitsblatt springen
von: Torsten
Geschrieben am: 29.01.2020 07:30:31

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.

Betrifft: AW: Mit Doppelklick auf anderes Arbeitsblatt springen
von: Wolfgang
Geschrieben am: 29.01.2020 19:39:11

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

Beiträge aus dem Excel-Forum zum Thema "Mit Doppelklick auf anderes Arbeitsblatt springen"