Einführung "VBA mit Microsoft Office"

Code Snippet "VBA Excel"

Alle gruppierten Blätter mit Blattschutz ohne Passwort versehen

Bei gruppierten Blättern wird Gruppierung aufgehoben und am Ende inklusive Auswahl des aktiven Blattes wiederhergestellt

Sub procAusgewaehlteBlaetterSchuetzen()
  Dim arrSelectedSheetNames() As String
  Dim intCounter As Integer
  Dim objSheet
  Dim strActiveSheetName
  
  'speichert Namen des aktiven Blattes
  strActiveSheetName = ActiveSheet.Name
  
  'Speichert Namen der gruppierten Blätter für Select am Ende
  ReDim arrSelectedSheetNames(ActiveWorkbook.Windows(1).SelectedSheets.Count - 1)
  intCounter = 0
  For Each objSheet In ActiveWorkbook.Windows(1).SelectedSheets
    arrSelectedSheetNames(intCounter) = _
      ActiveWorkbook.Windows(1).SelectedSheets(intCounter + 1).Name
    intCounter = intCounter + 1
  Next
  
  'Hebt Gruppierung auf und aktiviert Blattschutz für ausgewählte Blätter
  For Each objSheet In ActiveWorkbook.Windows(1).SelectedSheets
    objSheet.Select
    objSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
  Next
  
  'Stellt Gruppierung wieder her
  Sheets(arrSelectedSheetNames).Select
  
  'Aktiviert ursprünglich ausgewähltes Blatt
  Sheets(strActiveSheetName).Activate
End Sub