leider gab's Probleme mit dem Verschicken von E-Mail's, zumindest an Dich, daher hier der gewünschte VBA-Code, vielleicht hat ja auch noch jemand einen Verbesserungsvorschlag:
Sub Einblenden()
Dim x As Integer
x = 0
While Not x = 1 'Schleife, um wiederholte Passworteingabe zu ermöglichen
x = 1
On Error GoTo Fehler
ActiveSheet.Unprotect
If ActiveSheet.ProtectContents = True Then
Hinweis = MsgBox("Das Blatt ist geschützt, bitte heben Sie zunächst den Schutz auf!", vbOnlyok + vbCritical + vbDefaultButton1, "Hinweis")
Else
Rows("1:41").Select
Selection.EntireRow.Hidden = False
Cells(1, 1).Select
End If
On Error GoTo 0
Exit Sub
Fehler:
x = 0
Hinweis = MsgBox("Passwort falsch!", vbOKOnly + vbCritical, "Hinweis")
Resume
Wend
End Sub
Sub Ausblenden()
If ActiveSheet.ProtectContents = True Then
Hinweis = MsgBox("Das Blatt ist geschützt, bitte heben Sie zunächst den Schutz auf!", vbOnlyok + vbCritical + vbDefaultButton1, "Hinweis")
Else
Rows("1:41").Select
Selection.EntireRow.Hidden = True
End If
Cells.Select
Selection.FormulaHidden = True
ActiveSheet.Protect Cells(8, 2), DrawingObjects:=True, Contents:=True, Scenarios:=True
Cells(49, 3).Select
End Sub
Ich blende hier zwar in diesem Makro nur ein paar Zeilen aus, aber das Ganze ist natürlich beliebig auf Blätter auszuweiten, z.B. habe ich es mit folgendem noch verknüpft (z.B. über einen CALL-Befehl):
Sub blaetter_verstecken()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> "Kostenplanung" Then
If wks.Name <> "Einzelnachweis" Then
wks.Visible = xlVeryHidden
End If
End If
Next wks
End Sub
Hoffe, es hilft weiter.
Gruß
Thorsten