Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro erstellen Datenblätter
#1
Hallo zusammen,

ich habe folgendes Problem:
Ich versuche mit einem Makro Datenblätter zu kopieren und umzubennen. Diese sollen aus einem Reiter "Leer" kopiert werden. Es sollen immer 5 neue Reiter entstehen mit dem Datumsformat dd.mm.jj. Diese sollen immer die Montag bis Freitag der folgenden KW gehen. Der Reiter "Leer" steht am Ende der DAtei und die fünf neuen Reiter sollen davor eingefügt werden.

Ich habe aktuell folgenden Code:
Sub FuegeTabellenEin()
Dim oWs As Worksheet
  Worksheets("Leer").Copy Worksheets("Leer")
Dim Anzahl As Integer
Dim i As Integer
Set oWs = Worksheets(.Index - 1)
Anzahl = InputBox("Wie viele Blätter einfügen?")
For i = 1 To Anzahl
Worksheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Date - i
Next i
End Sub


Diesen Code habe ich im Internet gefunden und versucht diesen anzupassen. Leider funktioniert das nicht. Dieser Code ist ziemlich umständlich, da er nach Datum erstellt. 

Wäre super wenn mit jemand helfen kann. Entweder bei meinem Code oder auch gerne einen neuen Code.

Vielen dank.
Antwortento top
#2
Hallo,

ohne Fehlerbehandlung könnte es so gehen:

Code:
Sub T_1()
Dim nxMonday As Date

nxMonTag = CDbl(Date - VBA.Weekday(Date, vbMonday) + 8)
For i = 0 To 4
    Sheets.Add , Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = Format(nxMonTag + i, "DD.MM.YY")
Next i
End Sub

mfg
Antwortento top
#3
Hallo Nordlicht,

das, was du vorhast (für jeden Tag oder für jede Woche) ein eigenes Blatt zu erstellen, wird dich am Ende daran hindern, vernünftig auszuwerten. Gleichartige Daten gehören immer auf ein Datenblatt; dann ist eine Auswertung in der Regel ein Klacks.

Lies mal hier, wie Listen ordentlich angelegt werden: https://www.online-excel.de/excel/singsel.php?f=52
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste