Re: Blattname aus Zelle
31.08.2002 22:31:32
L.Vira
Da du dich wohl noch nicht so gut auskennst, habe ich Fehler-
absicherung mit eingebaut.Option Explicit
Const M1 As String = "Zelle B1 darf nicht leer sein!"
Const M2 As String = "Zelle B1 muss eine Zahl zwischen 1 und 31 sein!"
Sub benennen()
Dim MSG As String, Anzahl As Integer, b As Integer, aSh As Worksheet
Set aSh = ActiveSheet
''Das Startdatum muss in A1 stehen
If Not IsDate(aSh.[a1]) Then
MsgBox "In Zelle A1 muss ein Datum vorhanden sein!" & Space(10) & Chr(10) & _
"In B1 muss die Anzahl der Blätter stehen!", 64, "weise hin..."
Exit Sub
End If
''Wieviele Blätter erzeugt werden sollen, muss in B1 stehen
If aSh.[b1] = "" Then
MsgBox M1 & Space(10), 64, "weise hin..."
ElseIf Not IsNumeric([b1]) Then
MsgBox M2 & Space(10), 64, "weise hin..."
ElseIf [b1] < 1 Or [b1] > 31 Then
MsgBox M2 & Space(10), 64, "weise hin..."
End If
''Die Blätter werden erstellt
Anzahl = aSh.[b1]
Application.ScreenUpdating = False
For b = 1 To Anzahl
''Falls Blätter mit dem Namen schon vorhanden sind!
On Error GoTo ENDE
ActiveWorkbook.Sheets.Add After:=Sheets(Sheets.Count)
''Hier ein Format aussuchen aber nicht vergessen, das alte Format
''zu löschen oder auszukommentieren!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ActiveSheet.Name = Format(aSh.[a1] - 1 + b, "ddd dd.")
' ActiveSheet.Name = Format(aSh.[a1] - 1 + b, "ddd dd.mm.")
' ActiveSheet.Name = Format(aSh.[a1] - 1 + b, "dddd, dd.mm.")
' ActiveSheet.Name = Format(aSh.[a1] - 1 + b, "ddd dd.mm.yyyy")
' ActiveSheet.Name = Format(aSh.[a1] - 1 + b, "dddd, dd.mm.yyyy")
' ActiveSheet.Name = Format(aSh.[a1] - 1 + b, "dddd, dd.mmm.yyyy")
' ActiveSheet.Name = Format(aSh.[a1] - 1 + b, "dddd, dd. mmmm yyyy")
Next
Application.ScreenUpdating = True
aSh.Select
Exit Sub
ENDE:
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
aSh.Select
MsgBox "Blätter mit diesen Namen wurden schon erstellt!" & Space(10), 64, "weise hin..."
End Sub