weiß jemand ob man in einer neuen Arbeitsmappe Tabellenblätter automatisch Anlegen und mit Tabellenblatt-Namen versehen kann.
z.B. für August 2015 je Datum (01.08.2015-31.08.2015) 1 Tabellenblatt
Vielen Dank vorab.
Sub neues_Tabellenblatt_Monat()
Dim jahr As Integer, monat As Integer
Dim mAnfang As Variant, mEnde As Variant
iJahr = Range("A1")
iMonat = Range("A2")
mAnfang = DateSerial(iJahr, iMonat, 1)
mEnde = DateSerial(iJahr, iMonat + 1, 0)
Worksheets.Add after:=ActiveWorkbook.Sheets(Sheets.Count)
ActiveSheet.Name = mAnfang & " - " & mEnde
End Sub
Sub BlaetterAnlegenNachAnzahlTageInMonat()
Dim Wahl As Variant
Dim Datum As Date
Dim Tage As Integer
Dim i As Integer
Wahl = InputBox("Gewünschtes Datum eingeben. Tabellenblätter werden" _
& " für die Anzahl an Tagen des Monats angelegt." & vbCrLf & vbCrLf _
& " Wird kein Datum eingegeben, wird aktueller Monat gewählt!", _
"Tabellenblätter nach Tagen anlegen!")
Select Case Wahl
Case Is = vbCancel
Exit Sub
Case Is = 0
Datum = Date
Case Is = IsDate(Wahl)
Datum = Wahl
Case Else
Datum = Date
End Select
Tage = DateSerial(Year(Datum), Month(Datum) + 1, 1) - _
DateSerial(Year(Datum), Month(Datum), 1)
For i = 1 To Tage
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(DateSerial(Year(Datum), Month(Datum), i), "dd.mm.yyyy")
Next
End Sub
Passt?
Sub Makro1()... bis End Sub
mit Rudis bzw. meinem Code.
Sub BlaetterRein()
Dim i As Long
Application.ScreenUpdating = False
For i = DateSerial([a1], [b1], 1) To DateSerial([a1], [b1] + 1, 0)
Worksheets.Add(after:=Sheets(Sheets.Count)).Name = Format(i, "DD.MM.YYYY")
Next i
End Sub