346 Aufrufe
Gefragt in Tabellenkalkulation von

Hallo Zusammen,

ich möchte gerne alle Tabellenblätter automatisch ausblenden, die in einer Übersichtstabelle den Status "Erledigt" haben.

Tabellenblattname Datum Status
Hans 01.01.2020 offen
Dieter 01.01.2020 Erledigt
Rainer 01.01.2020 Erledigt
Klaus 01.01.2020 offen

In diesem Fall würden dann die Blätter Dieter und Rainer ausgeblendet werden müssen.

Vielen Dank im Voraus!

2 Antworten

0 Punkte
Beantwortet von
Bearbeitet

Hallo Verji,

Angenommen du hast den Status in Spalte C stehen, und die Tabellennamen in Spalte A, dann füge im VBA-Editor im Tabellenmodul "Übersicht" folgenden Code ein.

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim sname As String
  If Not Intersect(Target, Range("C:C")) Is Nothing Then
    sname = Target.Offset(0, -2)
    If sheetexists(sname) Then
      Sheets(sname).Visible = Not Target = "erledigt"
    Else
      MsgBox "Das Blatt """ & sname & """ gibt es nicht!"
    End If
  End If
End Sub

Function sheetexists(index) As Boolean
  On Error Resume Next
  sheetexists = Sheets(index).name <> ""
End Function

Wenn du nun in der Übersicht einen Namen als erledigt markierst wird das Tabellenblatt ausgeblendet, setze ihn als offen, wird es wieder eingeblendet.

Gruß Mr. K.

0 Punkte
Beantwortet von
Super, Danke schön Mr. K.!

Es funktioniert wie vorgestellt!

Grüße Verji
...