Hallo liebe Excelianer,
leider komme ich mit meinen VBA-Kenntnissen so nicht weiter und hoffe auf Eure Hilfe.
Mit dem Makrorecorder habe ich den nachstehenden Code aufgezeichnet, der aber in der Zukunft dann nicht mehr so funktioniert, da die Datei jeweils um einen weiteren Monat erweitert wird.
Erreicht werden soll, dass immer die letzte (=immer auch das aktuellste Tabellenblatt) kopiert werden soll und dann als neues Tabellenblatt als letztes stehen soll.
Beim Aufzeichnen mit dem Recorder nimmt er jedoch den Tabellennamen hier im Moment April und macht daraus April2 - was ja soweit auch logisch ist. Aber beim nächsten Aufrufen des Makros würde er wieder den April nehmen und deshalb die Frage... wie muss das Makro aussehen, damit immer das letzte Tabellenblatt zum Kopieren genommen wird.
Der jetzige Code sieht wie folgt aus:
Sub kopieren
ChDir _
"G:\Personal\Datenerfassung Statistik\Personalstamm\Geburtstagslisten lfd. Jahr"
Workbooks.Open Filename:= _
"G:\Personal\Datenerfassung Statistik\Personalstamm\Geburtstagslisten lfd. Jahr\Geburtstagsliste ab Januar 2010.xls"
Sheets("April 2010").Select
Sheets("April 2010").Copy After:=Sheets(4)
Range("M1").Select
ActiveCell.FormulaR1C1 = "=R[1]C[-9]+31"
Range("M1").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("M1").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
End Sub
Mit der Zelle M1 wird das Datum um einen Monat höher gesetzt und das alte Datum überschrieben.
Vielen Dank an alle Interessierten und Helfer...
In diesem Sinne.. have a nice Day... Gruß Helmut