Registriert seit: 07.10.2021
Version(en): 2016
Hallo zusammen,
ich habe folgendes Makro hinterlegt um Tabellenblätter einzufügen.
Code:
Sub FuegeTabellenEin()
Dim Anzahl As Integer
Dim i As Integer
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
Wie müsste der Code angepasst werden wenn ich zusätzlich zur Anzahl der Tabellenblätter auch das Datum festlegen möchte. Also nicht wie im Code mit dem heutigen Datum!
VG
Rudi
Registriert seit: 29.09.2015
Version(en): 2030,5
22.11.2021, 15:44
(Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2021, 16:35 von snb.)
Du brauchst nur 1 Arbeitsblatt für diene Daten.
Benütze eine 'Intelligente' Tabelle.
Splitten ähnliche Daten ist nie eine gute Idee.
Registriert seit: 12.03.2016
Version(en): Excel 2003
Hallo
ich stimme snb zu, besser ist es alle Daten in einer tabelle zu sammeln. Dasvon abgesehen funktioniert der Code sogar.
Bei 2 Tabellen fügt er den "23.11.20121 + 24.11.2021" ein!
mfg Gast 123
Registriert seit: 07.10.2021
Version(en): 2016
Hallo zusammen,
danke für die Antworten. Ich glaube, dass ich meine Herausforderung falsch formuliert habe.
Das einfügen der Tabellenblätter funktioniert auch reibungslos. Ich würde gerne Tabellenblätter, z.B. ab dem 06.12.2021 einfügen weil bis zu diesem Datum Tabellen bereits vorhanden sind. Darauf läuft meine Frage hinaus. Sorry wenn ich mich da falsch ausgedrückt habe.
VG
Rudi
Registriert seit: 12.03.2016
Version(en): Excel 2003
Hallo
bei vielen Blättern verliert man leicht die Übersicht über den letzten Tag. Es sei denn das Makro ermittelt ihn automatisch, und erstellt ab dem Tag weitere Blätter.
Bitte mal testen ob das so richtig ist?
mfg Gast 123
Code:
Sub FuegeTabellenEin()
Dim Anzahl As Integer, i As Integer
On Error Resume Next
'Letztes Datum ermitteln
For i = 1 To Worksheets.Count
If CDate(Worksheets(i).Name) > Datum Then _
Datum = CDate(Worksheets(i).Name)
Next i
'letztes Datum in inputBox anzeigen
Anzahl = InputBox("Wie viele Blätter einfügen?" & vbLf & "Letztes Datum: " & Datum)
If Anzahl = Empty Then Exit Sub
'neue Blätter ab gefundenem Datum einfügen
For i = 1 To Anzahl
Worksheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Datum + i
Next i
End Sub
Registriert seit: 07.10.2021
Version(en): 2016
Hallo Gast 123,
konnte es jetzt gerade testen. Klappt einwandfrei.
Eine Frage hätte ich dennoch. Nehmen wir mal an, die Tabelle 06.12.2021 ist komplett eingerichtet, formatiert etc.
Wie kann ich die Formatierungen etc. beim Einfügen der Tabellen mit Deinem VBA automatisch übernehmen? Ist das ein großer Aufwand?
VG
Rudi
Registriert seit: 12.03.2016
Version(en): Excel 2003
Hallo
da habe ich noch eine ganz andere Idee, die ist noch einfacher. Erstelle dir ein Vorlageblatt, nenne es "Vorlage", das kannst du auch ausblenden.
Mit dieser geänderten VBA Zeile kopierst du einfach die Vorlage und benennst das kopierte Blatt mit dem zweiten Befehl automatisch um. Probier es bitte mal aus.
Code:
Worksheets("Vorlage").Copy after:=Worksheets(Worksheets.Count) 'statt ADD den Copy Befehl verwenden!! Das sollte klaooen.
mfg Gast 123
Registriert seit: 07.10.2021
Version(en): 2016
Hallo,
was soll ich sagen. Einwandfrei!
Vielen lieben Dank.
VG
Rudi
Registriert seit: 07.10.2021
Version(en): 2016
29.11.2021, 16:21
(Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2021, 16:24 von bigrudi1966.)
Hallo zusammen,
bisher hat dieser Code einwandfrei funktioniert:
Code:
Sub FuegeTabellenEin()
Dim Anzahl As Integer, i As Integer
On Error Resume Next
'Letztes Datum ermitteln
For i = 1 To Worksheets.Count
If CDate(Worksheets(i).Name) > Datum Then _
Datum = CDate(Worksheets(i).Name)
Next i
'letztes Datum in inputBox anzeigen
Anzahl = InputBox("Wie viele Blätter einfügen?" & vbLf & "Letztes Datum: " & Datum)
If Anzahl = Empty Then Exit Sub
'neue Blätter ab gefundenem Datum einfügen
For i = 1 To Anzahl
Worksheets("Vorlage").Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Datum + i
Next i
End Sub
Als ich den Code heute gestartet habe wurden die erzeugten Tabellenblätter nicht mit Datum, sondern mit Vorlage(2), Vorlage(3), Vorlage(4) etc. bezeichnet.
Anm.: Die Tabellenblätter die ich anlegen wollte sind alle für das Jahr 2022 - Falls es etwas damit zu tun hat
Viele Grüße
Rudi
Registriert seit: 29.09.2015
Version(en): 2030,5