in Blatt springen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: in Blatt springen
von: Tim
Geschrieben am: 24.08.2015 11:38:59

Hallo zusammen,
ich habe eine Datei mit vielen Blättern.
Das erste Blatt heißt "Übersicht" und die folgenden Blätter "1001","1002","1003",usw.
In der Übersicht stehen die Blattnamen und weitere Informationen in einer Tabelle.
Ich benötige ein Makro, mit dem ich mit einem Doppelklick auf die Zahl in A2:A100 in das entsprechende Blatt springe.
Also wenn ich in die Zelle A2 auf 1001 doppelklicke, will ich im Blatt 1001 landen, usw.
Folgendes Makro habe ich erstellt:
If Not Application.Intersect(Range("A2:A100"), Target) Is Nothing Then
If BlattVorhanden(999 + Target.Row) Then
Sheets(???).Select
Else
MsgBox "Das Tabellenblatt existiert nicht!"
End If
End If
Allerdings hab ich keine Ahnung, was ich in "Sheets()" eintragen soll, damit es funktioniert...
Vielen Dank im Voraus für eure Hilfe!
Gruß
Tim

Bild

Betrifft: AW: in Blatt springen
von: Matthias
Geschrieben am: 24.08.2015 11:45:44
Hallo Tim,
meinst du etwa so?:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rngBereich As Range
Set rngBereich = Sheets("Übersicht").Range("A2:A100")
If Not Intersect(Target, rngBereich) Is Nothing Then
    Sheets(Target.Value).Activate
End If
End Sub
Der Name des Tabellenblattes wird dabei aus dem Zellenwert (Target.Value) entnommen.
lg Matthias

Bild

Betrifft: AW: in Blatt springen
von: Tim
Geschrieben am: 24.08.2015 11:48:55
Hallo Matthias,
leider funktioniert es nicht...
Ich glaube das Problem ist, dass es sich bei dem Inhalt um Zahlen handelt.
Mit einem Text funktioniert dein Makro!
Gruß
Tim

Bild

Betrifft: AW: in Blatt springen
von: Matthias
Geschrieben am: 24.08.2015 11:52:54
Dann probier mal Sheets(CStr(Target.Value)).Activate
lg Matthias

Bild

Betrifft: AW: in Blatt springen
von: Tim
Geschrieben am: 24.08.2015 12:01:08
Danke!

Bild

Betrifft: AW: in Blatt springen
von: Werner
Geschrieben am: 24.08.2015 11:53:01
Hallo Tim,
hast du es schon mal mit

Sheets(Target.Text).Activate
versucht?
Werner

Bild

Betrifft: AW: in Blatt springen
von: Tim
Geschrieben am: 24.08.2015 12:00:56
Danke!

Bild

Betrifft: AW: Danke für die Rückmeldung. o.w.T
von: Werner
Geschrieben am: 24.08.2015 12:27:55


Bild

Betrifft: AW: in Blatt springen
von: Gerd L
Geschrieben am: 24.08.2015 11:53:39
Hallo Tim,
da liegst du vermutlich richtig.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
on error goto ENDE
If Target.Row > 1 And Target.Column = 1 Then
Cancel = True
Worksheets(CStr(Target.Value)).Activate
End If
Exit Sub
ENDE:
msgbox "Ein Blatt mit diesem Namen ist nicht vorhanden!"
End Sub
Gruß Gerd

Bild

Betrifft: AW: in Blatt springen
von: Tim
Geschrieben am: 24.08.2015 11:56:39
Hallo Gerd,
super, vielen Dank!
Gruß
Tim

Bild

Betrifft: AW: in Blatt springen
von: Daniel
Geschrieben am: 24.08.2015 11:55:30
Hi
dazu vielleicht noch ein paar Optimierungen:
die Blätter sind wie Zahlenwerte benannt. Dh in den Zellen stehen wahrscheinlich dann auch Zahlenwerte und keine Texte.
Wenn aber im Target die Zahl 1001 steht, dann versucht Excel bei Sheets(Target.Value).Activate nicht da Blatt mit dem Namen "1001" anzuspringen, sondern das 1001. Tabellenblatt!
wenn man aber das Blatt mit dem Namen "1001" braucht, muss der Wert als TEXT angegeben werden.
das kann man auf unteschiedlichen Wegen realisieren, hier mal 3 Verschiedene Varianten:

 Sheets(Target.Value & "").Activate
 Sheets(Target.Text).Activate
 Sheets(CStr(Target.Value)).Activate

die Prüfung mit dem "Blatt vorhanden" kann man auch ohne zusätzliche funktion machen:
If Not Application.Intersect(Range("A2:A100"), Target) Is Nothing Then
 On Error Resume Next
 Sheets(Target.Text).Select
 if Err <> 0 Then MsgBox "Das Tabellenblatt existiert nicht!"
 On Error Goto 0
Gruß Daniel

Bild

Betrifft: AW: in Blatt springen
von: Tim
Geschrieben am: 24.08.2015 12:01:01
Danke!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "in Blatt springen"