Supportnet / Forum / Tabellenkalkulation
Tabelle abhängig vom Zellwert öffnen
Frage
Hallo @ alle EXCEListen,
ich suche nach einer Möglichkeit ein x-beliebiges Tabellenblatt durch die Eingabe des Tabellenblattnamens in eine Zelle zu öffnen.
Zum besseren Verständnis:
In A1/Tabelle 1 gebe ich "Tabell12" ein. Nach bestädigen mit Enter (oder alternativ Click auf CommandButton) wird Tabelle12 geöffnet.
Kann mir da jemand weiter helfen.
Viele Dank schon mal im voraus.
JöKe
Antwort 1 von Annan
Hallo,
mit CommandButton:
Sub Zeigen()
If Sheets("Tabelle1").Range("A1").Value = "Tabelle12" Then
Sheets("Tabelle12").Activate
End If
End Sub
Dieses Makro in ein Standardmodul u. einem Button zuweisen !
ODER direkt durch bestätigen nach Eintrag in Zelle A1, des Blattes "Tabelle1":
Private Sub Worksheet_Change(ByVal Target As Range)
If Sheets("Tabelle1").Range("A1").Value = "Tabelle12" Then
Sheets("Tabelle12").Activate
End If
End Sub
Dies direkt in das Tabellenblatt von Tabelle1 eintragen !
MfG
mit CommandButton:
Sub Zeigen()
If Sheets("Tabelle1").Range("A1").Value = "Tabelle12" Then
Sheets("Tabelle12").Activate
End If
End Sub
Dieses Makro in ein Standardmodul u. einem Button zuweisen !
ODER direkt durch bestätigen nach Eintrag in Zelle A1, des Blattes "Tabelle1":
Private Sub Worksheet_Change(ByVal Target As Range)
If Sheets("Tabelle1").Range("A1").Value = "Tabelle12" Then
Sheets("Tabelle12").Activate
End If
End Sub
Dies direkt in das Tabellenblatt von Tabelle1 eintragen !
MfG
Antwort 2 von JöKe
Hallo Annan,
vielen Dank für deine schnelle Antwort. Leider ist es nicht das was ich gesucht habe. Ich möchte von Tabelle1 nicht nur zu Tabelle12 wechseln, sondern abhängig von dem Wert in Zelle A1/Tabelle1 in eine dem Wert zugeortnete Tabelle. Also bei 2 in Tabelle2, bei 3 in Tabelle3 usw. Ist das möglich?
vielen Dank für deine schnelle Antwort. Leider ist es nicht das was ich gesucht habe. Ich möchte von Tabelle1 nicht nur zu Tabelle12 wechseln, sondern abhängig von dem Wert in Zelle A1/Tabelle1 in eine dem Wert zugeortnete Tabelle. Also bei 2 in Tabelle2, bei 3 in Tabelle3 usw. Ist das möglich?
Antwort 3 von Annan
Hallo,
eine bessere Möglichkeit fällt mir spontan nicht ein:
Mit Return:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Sheets("Tabelle1").Range("A1").Value
Case 2: Sheets("Tabelle2").Activate
Case 3: Sheets("Tabelle3").Activate
Case 4: Sheets("Tabelle4").Activate
Case 5: Sheets("Tabelle5").Activate
Case 6: Sheets("Tabelle6").Activate
Case 7: Sheets("Tabelle7").Activate
Case 8: Sheets("Tabelle8").Activate
Case 9: Sheets("Tabelle9").Activate
Case 10: Sheets("Tabelle10").Activate
Case 11: Sheets("Tabelle11").Activate
Case 12: Sheets("Tabelle12").Activate
End Select
End Sub
Direkt in das Codefenster der Tabelle1.
Mit Button:
Option Explicit
Sub Zeigen()
Select Case Sheets("Tabelle1").Range("A1").Value
Case 2: Sheets("Tabelle2").Activate
Case 3: Sheets("Tabelle3").Activate
Case 4: Sheets("Tabelle4").Activate
Case 5: Sheets("Tabelle5").Activate
Case 6: Sheets("Tabelle6").Activate
Case 7: Sheets("Tabelle7").Activate
Case 8: Sheets("Tabelle8").Activate
Case 9: Sheets("Tabelle9").Activate
Case 10: Sheets("Tabelle10").Activate
Case 11: Sheets("Tabelle11").Activate
Case 12: Sheets("Tabelle12").Activate
End Select
End Sub
Das Makro in ein Standardmodul u. einem Button zuweisen.
Wie gesagt, vielleicht findet ja noch jemand eine elegantere Lösung, insbesondere wenn z.B. 50 Tabellen oder mehr sind.
MfG
eine bessere Möglichkeit fällt mir spontan nicht ein:
Mit Return:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Sheets("Tabelle1").Range("A1").Value
Case 2: Sheets("Tabelle2").Activate
Case 3: Sheets("Tabelle3").Activate
Case 4: Sheets("Tabelle4").Activate
Case 5: Sheets("Tabelle5").Activate
Case 6: Sheets("Tabelle6").Activate
Case 7: Sheets("Tabelle7").Activate
Case 8: Sheets("Tabelle8").Activate
Case 9: Sheets("Tabelle9").Activate
Case 10: Sheets("Tabelle10").Activate
Case 11: Sheets("Tabelle11").Activate
Case 12: Sheets("Tabelle12").Activate
End Select
End Sub
Direkt in das Codefenster der Tabelle1.
Mit Button:
Option Explicit
Sub Zeigen()
Select Case Sheets("Tabelle1").Range("A1").Value
Case 2: Sheets("Tabelle2").Activate
Case 3: Sheets("Tabelle3").Activate
Case 4: Sheets("Tabelle4").Activate
Case 5: Sheets("Tabelle5").Activate
Case 6: Sheets("Tabelle6").Activate
Case 7: Sheets("Tabelle7").Activate
Case 8: Sheets("Tabelle8").Activate
Case 9: Sheets("Tabelle9").Activate
Case 10: Sheets("Tabelle10").Activate
Case 11: Sheets("Tabelle11").Activate
Case 12: Sheets("Tabelle12").Activate
End Select
End Sub
Das Makro in ein Standardmodul u. einem Button zuweisen.
Wie gesagt, vielleicht findet ja noch jemand eine elegantere Lösung, insbesondere wenn z.B. 50 Tabellen oder mehr sind.
MfG
Antwort 4 von JöKe
Vielen dank Annan für deine Bemühungen!
Leider sind es mehr als 50 Tabellen.
Hast mich mit deiner Lösung auf eine Idee gebracht werde sie gleich mal austesten.
Mfg JöKe hören uns wieder.
Leider sind es mehr als 50 Tabellen.
Hast mich mit deiner Lösung auf eine Idee gebracht werde sie gleich mal austesten.
Mfg JöKe hören uns wieder.
Antwort 5 von Primut
Hi JöKe,
proboers einfach mal hiermit, einzufügen in Tabelle1:
Damit mußt du in Tabelle1 in der Zelle A1 den Namen des Blattes eingeben, den du aktivieren möchtest, gibt es das Blatt nicht, wird es ignoriert.
Gruß Primut
proboers einfach mal hiermit, einzufügen in Tabelle1:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zellbereich As Range
Set Zellbereich = Range("A1")
On Error Resume Next
If Target.Address = Zellbereich.Address Then
Blatt = Target
Sheets(Blatt).Activate
Else
End If
End Sub
Damit mußt du in Tabelle1 in der Zelle A1 den Namen des Blattes eingeben, den du aktivieren möchtest, gibt es das Blatt nicht, wird es ignoriert.
Gruß Primut
Antwort 6 von JoeKe
Danke Primut! So funzt es!
MfG JöKe
MfG JöKe

