Schleife für Monatsblätter

Bild

Betrifft: Schleife für Monatsblätter
von: peter
Geschrieben am: 26.11.2003 12:27:19

Hallo Excels,
Wie kann ich flgendes Makro erweitern.
Der code soll in allen Tabellenblättern mit Monatsnamen ausgeführt werden.
Also die Blätter heisen JAnuar, Februar usw.


Sub neuesjahr()
   
    Sheets("Januar").Select
    ActiveSheet.Unprotect
    Range("B6:AF29").Select
    Selection.ClearContents
    Selection.ClearComments
    Range("B6").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Danke schon mal für jede Hilfe
Gruss
Peter
Bild


Betrifft: AW: Schleife für Monatsblätter
von: xXx
Geschrieben am: 26.11.2003 12:38:26

Hallo,
etwa so:

Sub neuesjahr()
Dim SH As Worksheet
For Each SH In ActiveWorkbook.Sheets
  Select Case SH.Name
    Case "Januar", "Febuar", "März"
      With SH
        .Unprotect
        .Range("B6:AF29").ClearContents
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
      End With
  End Select
Next SH
End Sub

Die anderen Monatsnamen musst du dir selbst eintragen.

Gruß aus'm Pott
Udo
http://www.excelerator.de

P.S. Das Forum lebt auch von den Rückmeldungen der Frager an die Antworter!


Bild


Betrifft: AW: Schleife für Monatsblätter
von: Peter
Geschrieben am: 26.11.2003 12:41:48

Hi Udo,
besten Dank und so schnell.
Gruss
Peter


Bild


Betrifft: AW: Schleife für Monatsblätter
von: WernerB.
Geschrieben am: 26.11.2003 12:39:33

Hallo Peter,

versuche es mal so (ungetestet):

Sub neuesjahr()
Dim i As Integer
    For i = 1 To Sheets.Count
      Select Case Sheets(i).Name
        Case "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", _
             "August", "September", "Oktober", "November", "Dezember"
          With Sheets(i)
            .Unprotect
            .Range("B6:AF29").ClearContents
            .Range("B6:AF29").ClearComments
            .Range("B6").Select
            .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
          End With
      End Select
    Next i
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).


Bild


Betrifft: Korrektur
von: WernerB.
Geschrieben am: 26.11.2003 12:44:48

Hallo Peter,

ein Select habe ich vergessen (sonst kann 'Range("B6").Select' nicht klappen).

Sub neuesjahr()
Dim i As Integer
    Application.ScreenUpdating = False
    For i = 1 To Sheets.Count
      Select Case Sheets(i).Name
        Case "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", _
             "August", "September", "Oktober", "November", "Dezember"
          With Sheets(i)
            .Select
            .Unprotect
            .Range("B6:AF29").ClearContents
            .Range("B6:AF29").ClearComments
            .Range("B6").Select
            .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
          End With
      End Select
    Next i
    Application.ScreenUpdating = True
End Sub

Gruß WernerB.


Bild


Betrifft: AW: Korrektur
von: peter
Geschrieben am: 27.11.2003 08:52:14

auch Dir vielen Dank Werner.
Gruss
Peter


Bild

Beiträge aus den Excel-Beispielen zum Thema " Schleife für Monatsblätter"