Service: Excel-VBA: Neues Arbeitsblatt aus Datumszelle
Ich beabsichtige die Daten aus zwei verschiedenen Dateien über einen Makro-Befehl miteinander zu verbinden:
In Datei X wird in Spalte B13 bis B157 ein Datum (immer letzter eines Monats) errechnet. Dieses Datum soll in den Tabellenblättern der Datei Y in Feld A1 fortlaufend übernommen werden. D. h., wenn ich in der Datei Y einen Kopierbefehl für ein neues Tabellenblatt über einen Makro auslöse, sollte immer das nächsthöhere Datum in Feld A1 erscheinen und das neue Tabellenblatt entsprechend benannt werden.
Beispiel:
Datei X, (immer) Tabellenblatt 1: Feld B13 = 30.09.2011
Datei Y, Tabellenblatt 10.11: Stand 30.09.2011
Wenn ich dann in Datei Y den Makro auslöse, soll ein neues Tabellenblatt in Datei Y mit dem Datum aus der Datei X, Feld B14 - also 31.10.2011 - generiert werden.
Schön wäre es, wenn das neue Tabellenblatt dann auch noch die Bezeichnung 11.11 (und nicht Nov. 2011) bekäme.
Public Sub CreateWorkbookFromCurrentCellDate()
Dim currentValue As String
currentValue = ActiveCell
If Not IsDate(currentValue) Then Exit Sub
Dim currentMonth As Long
currentMonth = Month(currentValue)
Dim currentYear As Long
currentYear = Year(currentValue)
Dim targetWorkbook As Workbook
Set targetWorkbook = Workbooks.Add
' Oder:
'Set targetWorkbook = Workbooks.Open("[irgend ein Pfad zu irgend einer Datei].xls")
Dim targetSheet As Worksheet
Set targetSheet = targetWorkbook.Sheets(1)
targetSheet.Name = Format$(DateSerial(currentYear, currentMonth, 1), "mm.yy")
targetSheet.Range("B13") = currentValue
End Sub
Arbeitsmappe mit vollständigem Beispielcode
|
Vielleicht auch interessant für Sie: VBA-Extension Tool. Produktivitätssteigerung für VBA durch Vereinfachung von Routinearbeiten. |
Wenn Sie wissen wollen, was so alles auf Ihrem PC passiert!
Tischrechner als Software.
Jetzt herunterladen und kostenlos testen!
Tastenkombinationen können PC-Arbeit erheblich beschleunigen.
Eine Reihe von kostenlosen Online-Berechnungen zur Erleichterung der täglichen Arbeit.
Sicherheit im PC-Bereich
Es existiert eine kostenlose, einfache und äußert effektive Methode, fast alle Viren, Trojaner, Würmer ...