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

Blatt kopieren + unter akt. Datum einfügen

Blatt kopieren + unter akt. Datum einfügen
Anne
Hallo an alle,
ich hab folgende Frage: Gibt es eine Möglichkeit, dass mein Makro das aktuelle Tabellenblatt kopiert und dieses in einer anderen Datei unter dem aktuellen Datum (als Tabellenblattname) gespeichert wird?Dies sollte dann immer hinter den vorher gehenden Tabellenblättern abgespeichert werden, so dass man am Ende mehrere Tabellenblätter in aufsteigender Reihenfolge mit z. B. "01.02.2010" dann "02.02.2010" usw. hat.
Ich würde mich über eine kleine Hilfestellung freuen!
Gruß Anne

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Blatt kopieren + unter akt. Datum einfügen
20.01.2010 13:27:45
Tino
Hallo,
kannst diesen Code mal testen.
Function CheckTabellen(strName$, oWB As Workbook) As Boolean
On Error Resume Next
CheckTabellen = oWB.Sheets(strName).Index > 0
End Function
Sub test()
Dim oWB As Workbook
Dim i As Integer, booCopy As Boolean, booNichtOffen As Boolean
On Error Resume Next
'Datei offen?
Set oWB = Workbooks("Ziel.xls")
On Error GoTo 0
If oWB Is Nothing Then
'Datei nicht offen
Set oWB = Workbooks.Open("D:\Ordner\Ziel.xls")
booNichtOffen = True
End If
If CheckTabellen(CStr(Date), oWB) Then
If booNichtOffen Then oWB.Close False
MsgBox "Tabelle mit den Namen '" & CStr(Date) & "' ist schon vorhanden!"
End If
If Not oWB.ReadOnly Then
For i = 1 To oWB.Sheets.Count
If IsDate(oWB.Sheets(i).Name) Then
If Date > CDate(oWB.Sheets(i).Name) Then
ThisWorkbook.ActiveSheet.Copy After:=oWB.Sheets(i)
oWB.Sheets(i + 1).Name = Date
booCopy = True
Exit For
End If
End If
Next i
If Not booCopy Then
ThisWorkbook.ActiveSheet.Copy After:=oWB.Sheets(oWB.Sheets.Count)
oWB.Sheets(oWB.Sheets.Count).Name = Date
End If
If booNichtOffen Then
oWB.Close True
Else
oWB.Save
End If
MsgBox "Tabelle erfolgreich übertragen", vbInformation
Else
If booNichtOffen Then oWB.Close False
MsgBox "Ziel ist Schreibgeschützt!", vbCritical, "Fehler"
End If
End Sub
Den Dateinamen und den Pfad musst Du im Code noch anpassen.
Ist die Datei bereits offen, wird diese verwendet.
Ist die Datei nicht offen wird diese geöffnet.
Zudem erfolgt noch eine Prüfung ob die Tabelle schon vorhanden ist.
Gruß Tino
Anzeige
AW: Blatt kopieren + unter akt. Datum einfügen
20.01.2010 13:38:47
Tino
Hallo,
da fehlt noch ein Exit Sub
ersetzte die Zeilen
If CheckTabellen(CStr(Date), oWB) Then
If booNichtOffen Then oWB.Close False
MsgBox "Tabelle mit den Namen '" & CStr(Date) & "' ist schon vorhanden!"
End If

durch diese
If CheckTabellen(CStr(Date), oWB) Then
If booNichtOffen Then oWB.Close False
MsgBox "Tabelle mit den Namen '" & CStr(Date) & "' ist schon vorhanden!"
Exit Sub
End If

Gruß Tino
AW: Blatt kopieren + unter akt. Datum einfügen
20.01.2010 15:44:50
Anne
Hallo Tino,
ich habe die entsprechende Passage ersetzt.
Nochmals Dankeschön!
Gruß Tino
Anzeige
AW: Blatt kopieren + unter akt. Datum einfügen
20.01.2010 14:25:04
Anne
Hallo Tino,
Es funktioniert super!
Ich probiere es morgen nochmal, ob die Tabellenblätter in der richtigen Reihenfolge sind.
Viele Dank an dich!
Gruß Anne

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige