Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
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

Arbeitsmappen je Kalendertag anlegen

Arbeitsmappen je Kalendertag anlegen
15.09.2022 09:29:54
Newbie
Hallo liebes Team,
ich habe eine Vorlage für einen Stundenzettel und muss pro Kalendertag eine neue Arbeitsmappe anlegen (https://www.herber.de/bbs/user/155184.xlsx).
Folgenden Code habe ich bereits (semi erfolgreich) angewendet, jedoch erstellt Excel damit nur eine leere neue Arbeitsmappe (die Vorlage in Tabelle1 wird nicht mit übernommen):

Sub x()
Dim i As Integer, sFile As String
Const sPfad As String = "Speicherort eingegeben"
For i = 1 To 999
If Cells(i, 1)  "" Then
sFile = Cells(i, 1)
With Workbooks.Add
.SaveAs sPfad & sFile & ".xlsx"
.Close
End With
End If
Next
End Sub
Erreichen würde ich gerne folgendes:
*Anlage einer neuen Arbeitsmappe je Kalendertag mit der Bezeichnung Datum + Wochentag.
*Die neue Arbeitsmappe sollte die beigefügte Vorlage enthalten.
*Sowohl das Tabellenblatt als auch die Zelle A1 sollen mit der Bezeichnung der Arbeitsmappe identisch sein.
Vielen Dank vorab!

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 09:41:32
Rudi
Hallo,
ich bezweifele die Sinnhaftigkeit

Sub x()
Dim i As Integer, sFile As String
Const sPfad As String = "Speicherort eingegeben"
For i = 1 To 999
If Cells(i, 1)  "" Then
sFile = Cells(i, 1)
Sheets("Vorlage").Copy    'anpassen
With ActiveWorkbook
.SaveAs sPfad & sFile, xlOpenXMLWorkbook
.Close
End With
End If
Next
End Sub
Gruß
Rudi
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 10:17:09
Herbert_Grom
Hallo,
Rudi hat da völlig recht, wenn er die Sinnhaftigkeit deines Vorhabens anzweifelt. Bist du ganz sicher, dass du für jeden Kalendertag eine eigene Arbeitsmappe brauchst? Erfahrungsgemäß kann man so etwas auch sehr, sehr viel einfacher und unkomplizierter machen. Wenn du an einer einfachen Lösung interessiert bist, dann lade doch mal eine Beispielarbeitsmappe hoch.
Servus
Anzeige
AW: Beispielmappe
15.09.2022 10:23:02
Herbert_Grom
Immer wieder das gleiche, weil ich die Texte nicht vollständig lese! Danke, Rudi!
Servus
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 10:32:40
Newbie
Hallo Zusammen,
über die Sinnhaftigkeit brauchen wir uns nicht unterhalten, ich habe die Aufgabe von meinem Chef bekommen und er möchte es genau so haben.
Mein Gegenvorschlag war z.B. eine Arbeitsmappe je Monat mit den einzelnen Kalendertagen als Tabellenblatt, aber er besteht auf die einzelnen Arbeitsmappen je Kalendertag. Ich versuche gerne nochmal ihn umzustimmen. Bisher wurden die Arbeitsmappen von einer Kollegin manuell erstellt. das kann m.E. nach keine sinnvolle Lösung sein.
Beispieldatei hatte ich hier hochgeladen: https://www.herber.de/bbs/user/155184.xlsx
Anzeige
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 10:34:50
Herbert_Grom
OK. Und wie sieht das Kalenderblatt aus, damit man weiß, wohin die Daten kopiert werden sollen?
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 10:48:48
Newbie
Ein Kalenderblatt gibt es nicht.
Der Stundenzettel in Tabelle1 soll in jede neue Arbeitsmappe kopiert werden.
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 10:50:06
Herbert_Grom
Auch mit allen Angaben in den anderen Zeilen?
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 10:56:02
Newbie
Tabelle1 komplett.
Nur Zelle A1 sollte vom Datum her automatisch aktualisiert werden.
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 11:06:50
Herbert_Grom
Lade mal ein Beispiel eines Stundenzettels hoch, den die Kollegin bisher manuell erstellt hat, denn ich verstehe immer noch nicht, was du haben willst.
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 11:09:16
Herbert_Grom
Wozu hast du da eine "For...Next"-Schleife drin, wenn du doch das gesamte Blatt kopieren willst?
Anzeige
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 11:19:34
Newbie
Der Stundenzettel ist die Tabelle1 in der hochgeladenen Datei https://www.herber.de/bbs/user/155184.xlsx
Bisher ist die Kollegin hingegangen und hat die Datei geöffnet (hier im Beispiel 01.03.2023), Speichern unter geklickt und die Arbeitsmappe unter neuem Datum (hier im Beispiel 02.03.2023) abgespeichert (und das dann für 365 Tage). Das hätte ich gerne automatisiert per VBA / Makro.
Es sollen also quasi 365 Arbeitsmappen erzeugt werden (z.B. 01.01.2023 Sonntag, 02.01.2023 Montag usw.) in denen jeweils die Tabelle 1 aus der hochgeladenen Datei enthalten ist.
Anzeige
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 11:23:03
Herbert_Grom
So wie du das beschreibst, hättest du dann 365/266 Arbeitsmappen, mit dem jeweiligen Tagesdatum, links oben, und ansonsten den identischen Daten! Habe ich das so richtig verstanden?
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 11:27:51
Newbie
Ja, korrekt. Es sollen 365 Arbeitsmappen sein.
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 11:39:55
Rudi

Sub x()
Dim i As Integer, sFile As String
Const sPfad As String = "c:\test\test\"
Application.ScreenUpdating = False
For i = 1 To 999
If Cells(i, 1)  "" Then
sFile = Cells(i, 1)
Sheets("Vorlage").Copy    'anpassen
With ActiveWorkbook
ActiveSheet.Cells(1, 1) = sFile
.SaveAs sPfad & sFile & ".xlsx", xlOpenXMLWorkbook
.Close
End With
End If
Next
End Sub
Gruß
Rudi
Anzeige
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 12:10:49
Herbert_Grom
Sorry, und das ist der Code:

Sub Stundenzettel()
Dim i&, sFileName$, wksQuelle As Workbook, sPfad$, lLastDay&
sPfad = ThisWorkbook.Path & "\"
Set wksQuelle = ThisWorkbook
lLastDay = 365
'* wenn Schaltjahr
Select Case Year(Date)
Case 2024, 2028, 2032, 2036, 2040, 2044: lLastDay = 366
End Select
For i = 1 To lLastDay
Sheets("Tabelle1").Copy
With ActiveWorkbook
sFileName = ActiveSheet.Cells(1, 1)
.SaveAs sPfad & sFileName & ".xlsx", xlOpenXMLWorkbook
.Close
End With
Cells(1, 1) = Cells(1, 1) + 1
Next
End Sub
Servus
Anzeige
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 10:31:08
Herbert_Grom
Hallo,
aber vielleicht kannst du doch mal kurz erklären, warum du für jeden Stundenzettel eine eigene AM benötigst?
Servus
AW: Arbeitsmappen je Kalendertag anlegen
15.09.2022 11:46:08
Daniel
Hi
kleiner Tipp: wenn du eine Datei hochlädst, dann füge den Link in eine eigene Zeile ein bzw lass zumindest ein Leerzeichen zwischem dem Link und angrenzenden Zeichen. Dann kann die Forensoftware den Link erkennen und umwandeln, so dass man ihn nur anklicken muss.
momentan erzeugt dein Code nur das leere Blatt.
das übernehmen der Vorlage müsstest du noch einfügen:

          With Workbooks.Add
ThisWorkbook.Sheets("Tabelle1").Cells.Copy Destination:=.Sheets(1).Cells(1, 1)
.Sheets(1).Name = sFile
.Sheets(1).Cells(1, 1).value = sFile
.SaveAs sPfad & sFile & ".xlsx"
.Close
End With
SFile bzw die Werte in Spalte A müssen als Tabellenblattname verwendbar sein, dh bestimmte Zeichen dürfen nicht enthalten sein und die Länge darf 31 Zeichen nicht überschreiten.
Gruß Daniel
Anzeige
AW: Arbeitsmappen je Kalendertag anlegen
16.09.2022 06:27:22
Newbie
Guten Morgen,
vielen Dank für die Hilfe!
Der Test mit dem Code war erfolgreich.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige