Herbers Excel-Forum - das Archiv

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
Excel-Beispiele zum Thema " Schleife für Monatsblätter"
In einer Schleife auf Elemente einer UserForm zugreifen CheckBoxes in UserForms in eine Schleife einbinden
Gruppe von UserForm-ListBoxes über eine Schleife ansprechen UserForm-Optionsfelder über eine Schleife zurücksetzen