Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Back up anlegen

Back up anlegen
09.06.2008 00:31:00
Becker
Hallo Werte Excellanten,
Habe in eine Mappe.xlsm Makro der mir alle halbe Stunde die Sicherung automatisch anlegt.
Ich bekomme sehr oft die Fehler Meldung daß zu wenig Ressourcen zur Verfügung stehen.
Derzeitige Mappen Größe ist ca 1400 KB.
Warum bekomme ich sehr oft die Fehler Meldung beim Sicherung anlegen?
Fehler Meldung in"SicherungAnlegen" in
(.PasteSpecial Paste:=xlPasteValues);
"Microsoft Excel kann diesen Vorgang
mit den verfügbaren Ressourcen nicht ausführen.
Bitte wählen Sie weniger Daten aus oder
schliesen Sie andere Programme."
Es scheint als ob man sehr weinig Speicher
Hier sind die Cods;
Option Explicit
Public meZeit As Date

Sub SicherungAnlegen()
'   Kopie einer Datei ohne Formeln mit Format, Register nicht geschützt
Dim InI As Integer
Application.ScreenUpdating = False
Workbooks.Add
With ThisWorkbook
ActiveWorkbook.SaveAs .Path & "\Backup_" & Format(Now, "DD-MM-YY_hh-mm-ss") & ".xlsx"
For InI = .Worksheets.Count To 1 Step -1
Worksheets.Add
.Worksheets(InI).Cells.Copy
With ActiveWorkbook.ActiveSheet.Cells
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlFormats
End With
ActiveWorkbook.ActiveSheet.Name = .Worksheets(InI).Name
Next InI
Application.CutCopyMode = False
Application.DisplayAlerts = False
For InI = 1 To Application.SheetsInNewWorkbook
Worksheets(ActiveWorkbook.Worksheets.Count).Delete
Next InI
Application.DisplayAlerts = True
ActiveWorkbook.Close True
End With
Application.ScreenUpdating = True
End Sub



Sub Start_Sicherung()
If Not ThisWorkbook.Saved Then SicherungAnlegen
Call StartTimer
End Sub



Sub StartTimer()
Call StopTimer
meZeit = Now + TimeValue("00:35:00")
Application.OnTime meZeit, "Start_Sicherung"
End Sub



Sub StopTimer()
On Error Resume Next
Application.OnTime EarliestTime:=meZeit, _
Procedure:="Start_Sicherung", Schedule:=False
End Sub


Leider sind meine Kenntnisse gering so das ich allein nicht weiter komme.
Wäre super, wenn mir jemand helfen könnte, der sich damit auskennt.
Ich Danke Euch für Euer Mühen
Freue mich über jeden Hinweis!
Netten Gruß
Daniel

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Back up anlegen
09.06.2008 10:43:29
fcs
Hallo Daniel,
alle Zellen eines Blattes zu kopieren (speziell unter Excel2007) erfordert einiges an Resourcen.
Probiere mal die folgende Variante, die "nur" jeweils den verwendeten Tabellenbereich kopiert.
Gruß
Franz

Sub SicherungAnlegen()
'   Kopie einer Datei ohne Formeln mit Format, Register nicht geschützt
Dim InI As Integer, strUsedRangeAdresse As String
Application.ScreenUpdating = False
Workbooks.Add
With ThisWorkbook
ActiveWorkbook.SaveAs .Path & "\Backup_" & Format(Now, "DD-MM-YY_hh-mm-ss") & ".xlsx"
For InI = .Worksheets.Count To 1 Step -1
Worksheets.Add
.Worksheets(InI).UsedRange.Copy
strUsedRangeAdresse = .Worksheets(InI).UsedRange.Address
With ActiveSheet.Range(strUsedRangeAdresse)
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlFormats
End With
ActiveWorkbook.ActiveSheet.Name = .Worksheets(InI).Name
Next InI
Application.CutCopyMode = False
Application.DisplayAlerts = False
For InI = 1 To Application.SheetsInNewWorkbook
Worksheets(ActiveWorkbook.Worksheets.Count).Delete
Next InI
Application.DisplayAlerts = True
ActiveWorkbook.Close True
End With
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Back up anlegen
09.06.2008 17:10:41
Becker
Hallo Franz,
vielen Dank für Deine Anweisung. Ich bekomme den Fehler in
"ActiveWorkbook.ActiveSheet.Name = .Worksheets(InI).Name"
"1004", "kann einenm Blatt nicht den gleichen Namen wie einem anderen Blatt, einer Objektbibliothek oder eine Arbeitsmappe auf die Visual Baisic nimmt."
Woran konnte es liegen?
Für jede Hilfe danke ich herzlicht in voraus.
Netten Gruß Daniel

AW: Back up anlegen
09.06.2008 17:47:00
fcs
Hallo Daniel,
das liegt daran, dass in dem neuen Workbook, dass angelegt wird 1 oder mehrere leere Tabellenblätter mit den Namen Tabelle1, Tabelle2 usw. angelegt werden (Anzahl richttet sich nach deinen Einstellungen).
Wenn jetzt ein Tabellenname in deiner Originaldatei auch einen dieser Namen hat, dann gibt es ein Problem wenn du versuchst ein Blatt mit den kopierten Daten umzubenennen.
Mit der folgenden Anpassung solte das Problem verschwinden. Dazu werden vorhandene Leerblätter in der Kopie bis auf Blatt 1 gelöscht und Blatt 1 erhält einen ungewöhnlichen Namen, bevor die Daten hineinkopiert werden.
Gruß
Franz

Sub SicherungAnlegen()
'   Kopie einer Datei ohne Formeln mit Format, Register nicht geschützt
Dim InI As Integer, strUsedRangeAdresse As String
Application.ScreenUpdating = False
Workbooks.Add
If ActiveWorkbook.Sheets.Count > 1 Then
Application.DisplayAlerts = False
'überzählige Leer-Blätter außer Nr.1 löschen
For InI = 2 To ActiveWorkbook.Sheets.Count
Worksheets(InI).Delete
Next
Application.DisplayAlerts = True
End If
Worksheets(1).Name = "XXX__YYY" 'ungewöhnlicher Name für Blatt 1
With ThisWorkbook
ActiveWorkbook.SaveAs .Path & "\Backup_" & Format(Now, "DD-MM-YY_hh-mm-ss") & ".xlsx"
For InI = .Worksheets.Count To 1 Step -1
Worksheets.Add
.Worksheets(InI).UsedRange.Copy
strUsedRangeAdresse = .Worksheets(InI).UsedRange.Address
With ActiveSheet.Range(strUsedRangeAdresse)
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlFormats
End With
ActiveWorkbook.ActiveSheet.Name = .Worksheets(InI).Name
Next InI
Application.CutCopyMode = False
Application.DisplayAlerts = False
Worksheets("XXX__YYY").Delete 'Blatt mit ungewöhnlichem Namen löschen
Application.DisplayAlerts = True
ActiveWorkbook.Close True
End With
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Back up anlegen
09.06.2008 18:25:04
Becker
Hallo Franz,
vielen Dank für Deine verständliche und umfangreiche Beschreibung.
Dank Deiner Beschreibung habe ich noch was dazu gelernt.
Das ist mir klar das daß die beste Excel-VBA Forum ist.
In den Code bekomme ich noch den Fehler in zweiten Schleifgang "Worksheets(InI).Delete"
LaufzeitFehler 9 Index außerhalb des gültigen Breichs.
Wenn ich den 'Worksheets(InI).Delete auskommentiere dann funktioniert es ohne Fehler.
So weit so gut.
Franz danke DirGruß
Daniel

AW: Back up anlegen
09.06.2008 10:45:39
Franc
Wieviel RAM hat dein PC und wieviel ist davon frei wenn die Mappe geöffnet ist? (Rechtsklick auf eine freie Fläche in der Taskleiste -- Taskmanager und da auf Systemleistung)
Ich vermute, das du nicht genug Arbeitspeicher hast um die Daten nochmal in eine neue Arbeitsmappe zu kopieren.

Anzeige
AW: Back up anlegen
09.06.2008 17:17:26
Becker
Hallo Franz,
Wieviel RAM hat dein PC und wieviel ist davon frei wenn die Mappe geöffnet ist?
2 GB RAM
(Rechtsklick auf eine freie Fläche in der Taskleiste -- Taskmanager und da auf Systemleistung)
CPU wird 50 % ausgelastet, Auslagerungsdatei liegt beim 462 MB
Das Notbook ist ca 1 Jahr alt, Intel Core 2 Duo, 2 GB DDR2 RAM SD RAM, 1,6 GHz.
Für jede Hilfe danke ich herzlichst.
Netten Gruß
Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige