Tabellenblatt nach speichern ausblenden
#1
Hallo zusammen,
ich möchte per Button verschiedene Tabellenblätter ausblenden. Wäre kein Problem, Makrorekorder an und schon ist der Code erstellt. Jetzt habe ich aber das Problem das noch weitere Tabellenblätter dazu kommen und diese dann nicht ausgeblendet werden. 
Ebenso ist es mit dem Einblenden der Tabellenblätter. Auch hier hilft eine Aufzeichnung bei den bereits bestehenden Tabellenblättern, aber nicht bei neu dazu gekommenen. 

Hat hier jemand eine Lösung für mich?

Viele Grüße
Martin
Top
#2
Hallo Martin,

ganz schlau werde ich nicht daraus, aber hilft dir sowas?
Code:
ActiveSheet.Visible = False
Nur mit dem Einblenden funktioniert es so natürlich nicht. Das musst du jetzt nochmal genauer erklären.
Schöne Grüße
Berni
Top
#3
Hallo,
war auch etwas kompliziert erklärt. Das mit dem Speichern muss nicht unbedingt sein. Es würde mir genügen wenn ich alle Tabellenblätter bis auf 2 bestimmte wieder einblenden kann. Dies mach ich über zwei Buttons. 
Ich habe folgendes Makro:

Sub Alle_ausblenden()
'
' Alle_ausblenden Makro
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
        If wks.Name <> "Startseite" Then
        wks.Visible = xlSheetHidden
        End If
Next
End Sub

Sub Alle_einblenden()
'
' Alle_einblenden Makro
Dim Tabellenblatt As Object

For Each Tabellenblatt In Worksheets
Tabellenblatt.Visible = True
Next Tabellenblatt
Sheets("Startseite").Select
End Sub


Jetzt ist es halt so das mir alle Tabellenblätter wieder eingeblendet werden. Was und wo muss hin, das bestimmte Tabellenblätter nicht eingeblendet werden.

Viele Grüße
Martin
Top
#4
Du hast doch die Antwort bereits in deinem Ausblenden-Makro
Code:
If wks.Name <> "Startseite" Then

Oder bin ich zu doof, deine Frage zu verstehen?
Schöne Grüße
Berni
Top
#5
Hallo,
das ausblenden ist nicht das Problem. Das Problem ist das ich nicht alle Tabellenblätter wieder einblenden möchte. Es sollen einige ausgeblendet bleiben.

Viele Grüße
Martin
Top
#6
Ich wiederhole:
Code:
If wks.Name <> "Startseite" Then

Erweiterbar zu
Code:
If wks.Name <> "Startseite" Or wks.Name <> "Blattname2" Or wks.Name <> "Blattname3" Then
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • MatzeP
Top
#7
(07.01.2021, 13:17)MisterBurns schrieb: Ich wiederhole:
Code:
If wks.Name <> "Startseite" Then

Erweiterbar zu
Code:
If wks.Name <> "Startseite" Or wks.Name <> "Blattname2" Or wks.Name <> "Blattname3" Then

Jetzt steh glaube ich auf dem Schlauch. 
Ich habe aber in meinem einblenden Makro diese Codes drin. Der Code befindet sich doch nur in meinem ausblenden Makro.
Top
#8
Code:
Sub Alle_einblenden()
'
' Alle_einblenden Makro
Dim Tabellenblatt As Worksheet

For Each Tabellenblatt In Worksheets
    If Tabellenblatt.Name <> "Startseite" Or Tabellenblatt.Name <> "Blattname2" Or Tabellenblatt.Name <> "Blattname3" Then
        Tabellenblatt.Visible = True
    End If
Next Tabellenblatt
Sheets("Startseite").Select
End Sub
Hast du den Code überhaupt verstanden?
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • MatzeP
Top
#9
Hallo,
zum Teil hab ich den Sinn des Codes schon verstanden. Bin noch nicht so lange in der VBA Geschichte mit dabei. Wird aber immer mehr und besser.
Habe jetzt deinen Code so verwendet. Leider blendet es mir immer noch alles ein. Also auch die die ausgeblendet bleiben sollen.
Top
#10
Ah, kleiner Flüchtigkeitsfehler. Ersetze alle "Or" gegen "And".
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • MatzeP
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste