Tabellenblattaufruf mit Optionsfeldern

Bild

Betrifft: Tabellenblattaufruf mit Optionsfeldern
von: Ralf
Geschrieben am: 27.10.2015 11:10:14

Hallo Forum,
ich habe in einer Arbeitsmappe ein Tabellenblatt "Auswahl".
Auf diesem Blatt befinden sich momentan 4 Optionsfelder. In der Zelle "B14" wird der Wert 1 bis 4 ausgegeben. Außerdem befindet sich ein OK Button und ein abbrechen Button auf dem Blatt. Nach Auswahl einer der 4 vorgegebenen Möglichkeiten und Bestätigung mit ok soll der Anwender die Tabelle (Name "Verfahren1" bis "Verfahren4") angezeigt bekommen. Die Eigenschaft der anzuzeigende Tabelle ist standardmässig "2 - xlSheetVeryHidden" und soll dann auf "-1 - xlSheetVisible" verändert werden. Ich habe bislang keinen Code gefunden, der dies realiseren kann.
Kann mir bitte jemand helfen?
Vielen Dank im Voraus.
Viele Grüße
Ralf

Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Rudi Maintaire
Geschrieben am: 27.10.2015 11:16:53
Hallo,

Sub OK()
 with Sheets("verfahren" &Range("B14"))
  .visible = xlsheetvisible
  .activate
 end with
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Ralf
Geschrieben am: 27.10.2015 11:22:45
Hallo Rudi,
ahhhhh, Mist.
Dein Vorschlag passt. Aber die Tabellenblätter haben in der richtigen Arbeitsmappe andere Bezeichnungen. "Verfahren" war jetzt für meine Beschreibung nur ein Platzhalter.
Kannst Du mir einen Vorschlag machen für:
Wenn B14=1 dann "Verfahren1" mit Eigenschaft "-1 - xlSheetVisible"
Wenn B14=2 dann "Verfahren2" mit Eigenschaft "-1 - xlSheetVisible"
usw.
Tschuldigung, dass ich Dich in die Irre geführt habe und Dir nun doppelten Aufwand beschere.
Viele Grüße
Ralf

Bild

Betrifft: Bahnhof owT
von: Rudi Maintaire
Geschrieben am: 27.10.2015 13:23:01


Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Daniel
Geschrieben am: 27.10.2015 13:27:01
Hi
benenne doch in deiner Echtdatei die Blätter so um, wie du es hier beschrieben hast.
Gruß Daniel

Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Ralf
Geschrieben am: 28.10.2015 08:15:00
Hallo Daniel,
geht leider nicht, weil dann versch. andere Dinge nicht mehr funktionieren.
Kann man den Code nicht allgemeingültig formulieren?
Für Tabellenblätter z. B. 0815, Test 2, Verfahren 11, 4711, o. ä.?
Vielen Dank für eine Rückmeldung.
Viele Grüße
Ralf

Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Ralf
Geschrieben am: 28.10.2015 08:26:40
Hallo Daniel,
ich habe es sleber mal probiert, funktioniert aber nicht. Was mache ich falsch?

Sub OK()
    If Cells(14, 2) = 1 Then
    With Sheets("0815_Ergebnis")
    .Visible = xlSheetVisible
    With Sheets("0815")
    .Visible = xlSheetVisible
    .Activate
   End With
If Cells(14, 2) = 2 Then
    With Sheets("4711_Ergebnis")
    .Visible = xlSheetVisible
    With Sheets("4711")
    .Visible = xlSheetVisible
    .Activate
   End With
End Sub
Viele Grüße
Ralf

Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Ralf
Geschrieben am: 28.10.2015 10:43:48
Hallo Forum,
ich habe mir das jetzt so in etwa vorgestellt, was aber leider (noch) nicht funktioniert:

Sub OK()
Select Case Worksheets("Auswahl").Range("B14").Value
        Case 1: With Sheets("0815_Daten", "0815").Visible = xlSheetVisible
        Case 2: With Sheets("4711_Daten", "4711").Visible = xlSheetVisible
        Case 3: With Sheets("Test 12_Daten", "Test 12").Visible = xlSheetVisible
        Case 4: With Sheets("Tabelle xxx_Daten", "Tabelle xxx").Visible = xlSheetVisible
End Sub
Außerdem soll dann das Tabellenblatt ohne "_Daten" im Tabellennamen aktiviert werden.
Viele Grüße
Ralf

Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Daniel
Geschrieben am: 28.10.2015 11:59:25
Hi
schau dir das Prinzip der WITH-Klammer noch mal genauer an.
das hast du noch nicht verstanden wie die funktionert.
Die WITH-Klammer ist hier aber überflüssig, da du das Tabellenblatt nur 1x verwendest.
um ein Tabellenblatt einzublenden, verwende diesen Code:

Sheets("0815_Daten").visible = xlsheetvisible
das funktioniert aber nur für jedes Blatt einzeln, daher muss dein Code so aussehen
Sub OK()
Select Case Worksheets("Auswahl").Range("B14").Value
    Case 1
        Sheets("0815").Visible = xlSheetVisible
        Sheets("0815_Daten").Visible = xlSheetVisible
    Case 2
        Sheets("4711").Visible = xlSheetVisible
        Sheets("4711_Daten").Visible = xlSheetVisible
    Case 3
        'hier dann analog für die anderen Blätter
        
    Case 4
        'hier dann analog für die anderen Blätter
End With
End Sub
Gruß Daniel

Bild

Betrifft: AW: Tabellenblattaufruf mit Optionsfeldern
von: Rudi Maintaire
Geschrieben am: 28.10.2015 13:04:39
Hallo,

Sub OK()
  Dim arr, s
  arr = Array(, "0815", "4711", "Test 12", "Tabelle xxx")
  s = arr(Sheets("Auswahl").Range("B14"))
  With Sheets(s)
    .Visible = xlSheetVisible
    .Select
  End With
  Sheets(s & "_Daten").Visible = True
End Sub

Gruß
Rudi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblattaufruf mit Optionsfeldern"