Anzeige
Archiv - Navigation
1528to1532
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Monat pro Tabellenblatt

Monat pro Tabellenblatt
06.12.2016 12:30:56
Gabi
Hallo Zusammen,
ich habe eine Datei, die verschiedene Tabellenblätter mit den Monatsnamen enthalten soll. Hierfür soll die ebenfalls enthaltene Vorlage inklusive deren Formatierungen jeweils auf das für ein neues Monat angelegte Tabellenblatt kopiert werden. Zugleich soll auf jedem neu angelegten Tabellenblatt der erste des Monats (z.B. 01.11.2016) in der Zelle "M3" hinterlegt sein. Diese Zelle ist in der Vorlage bereits als Datum formatiert. Damit ich diese nicht einzeln anlegen und kopieren muss, hatte ich die Hoffnung, dass es mit einer einfachen Formel funktionieren könnte. Allerdings bin ich bisher nur so weit gekommen. Und das funktioniert irgendwie nicht wie es soll...
Sub NeuerMonat()
Dim strFile As String
Dim lngCalc As Long
Dim lngTMP As Long
Dim D As Date
Dim i As Integer
Dim mZahl As Integer
Dim mWort As String
Dim yZahl As String
Dim dZahl As String
On Error GoTo Fin
For i = 1 To 2
D = "01.11.2016"
mZahl = Month(DateSerial(Year(D), Month(D) + i, 1))
mWort = Format(mZahl, "mmmm")
yZahl = Year(DateSerial(Year(D), Month(D) + i, 1))
dZahl = Day(DateSerial(Year(D), Month(D) + i, 1))
Debug.Print mZahl
Debug.Print mWort
Debug.Print yZahl
Debug.Print dZahl
strFile = ThisWorkbook.Path & Application.PathSeparator & "Vorlage.xltx"
With Application
.ScreenUpdating = False
.AskToUpdateLinks = False
.EnableEvents = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
ThisWorkbook.Worksheets("Vorlage").visible = xlSheetVisible
ThisWorkbook.Worksheets("Vorlage").Copy After:=ThisWorkbook.Worksheets( _
Worksheets.count)
ThisWorkbook.Worksheets(Worksheets.count).name = mWort & " 2016"
ThisWorkbook.Worksheets(Worksheets.count).Cells(3, 13).Value = dZahl  & "." &  _
mZahl & "." & yZahl
Next i
Die Ausgabe mit Debug.Print ergibt allerdings folgendes:
 12
Januar
2016
1
1
Dezember
2017
1
Somit passt der geschriebene Monat irgendwie nicht zum Monat in Zahlenform. Und den Inhalt der Zelle "M3" übernimmt es nicht als Datum.... Kann mir jemand weiterhelfen?
Liebe Grüße
Gabi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monat pro Tabellenblatt
06.12.2016 13:04:22
Rudi
Hallo,
MZahl=12 --&gt 12 ist der 12.1.1900, d.h. Januar
mWort = MonthName(mZahl)
Gruß
Rudi
AW: Monat pro Tabellenblatt
06.12.2016 13:32:59
UweD
Hallo
Die Aufteilung in die Einzelelemente benötigst du nicht..
Außerdem hab ich Teile ausserhalb der Schleife plaziert, die nur 1x benötigt werden und nicht bei jedem Monat neu
Sub NeuerMonat()
    Dim strFile As String
    Dim lngCalc As Long
    Dim lngTMP As Long
    Dim D As Date
    Dim i As Integer

    On Error GoTo fin
    strFile = ThisWorkbook.Path & Application.PathSeparator & "Vorlage.xltx"
    With Application
        .ScreenUpdating = False
        .AskToUpdateLinks = False
        .EnableEvents = False
        lngCalc = .Calculation
        .Calculation = xlCalculationManual
        .DisplayAlerts = False
    End With
    ThisWorkbook.Worksheets("Vorlage").Visible = xlSheetVisible
    For i = 1 To 12
        D = DateSerial(Year(Date), Month(Date) + i, 1)
        ThisWorkbook.Worksheets("Vorlage").Copy _
            After:=ThisWorkbook.Worksheets(Worksheets.Count)
        ThisWorkbook.Worksheets(Worksheets.Count).Name = Format(D, "MMMM YYYY")
        ThisWorkbook.Worksheets(Worksheets.Count).Cells(3, 13).Value = _
            Format(D, "D.MM.YYYY")
    Next i
fin:
' hier fehlt noch die Rücksetzung 

End Sub

LG UweD
Anzeige
AW: Monat pro Tabellenblatt
06.12.2016 17:44:48
Gabi
Hallo ihr beiden,
vielen lieben Dank für die schnelle Antwort. Es funktioniert wunderbar!
Liebe Grüße
Gabi
AW: gern geschehen owt
07.12.2016 08:27:04
UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge