spezielles zusammenfügen von Excel - Dateien
Hi @ all !!!
Ich suche jetzt schon seit Tagen nach einer Lösung, doch leider habe ich bis jetzt noch keine genaue Lösung für mein Problem gefunden.
Ich habe mir mit Microsoft Sharepoint Services ein Intranet sozusagen zusammen gestellt. Dort habe ich auf der linken Seite eine Menüleiste, inder es einen Button "Schauklassen" gibt. Klickt man nun auf diesen so öffnet sich per inlineframe in der Mitte der Seite eine Liste mit genau 63 verschiedenen Excel-Dateien.
Diese Dateien haben folgende Namen:
Schauklasse_1.xls
Schauklasse_2.xls
Schauklasse_3.xls
Schauklasse_4.xls
Schauklasse_5.xls
usw...
Also bis "Schauklasse_63.xls".
Nun haben verschiedene Benutzer, Rechte einzelne Dateien mit Excel zu öffnen, zu ändern, und wieder auf dem Sharepoint abzuspeichern. Die Datei wird einfach automatisch mit Excel geöffnet sobald ein Benutzer auf die entsprechende Datei klickt. Wenn er Excel, dann wieder schließt und klickt auf "Änderungen speichern" dann wird die aktualisierte Excel-Tabelle automatisch bei Sharepoint abgespeichert, sodass dort nun die aktuelle Datei automatisch zu finden ist. Da die alte Version ja soeben überschrieben wurde.
Dies funktioniert soweit auch alles einwandfrei. Also "Benutzer 1" kann zum Beispiel die Dateien "Schauklasse_1.xls" bis einschließlich Datei "Schauklasse_25.xls" öffnen, bearbeiten und wieder abspeichern. Und "Benutzer 2" kann zum Beispiel die Dateien "Schauklasse_26.xls" bis einschließlich "Schauklasse_63.xls" öffnen, bearbeiten und wieder abspeichern.
Zur Info: Jede der 63 Excel-Dateien hat nur einen Reiter (=Tabellenblatt) unten (Tabelle 1).
So jetzt möchte ich folgendes erreichen:
Ich habe in einem anderen Verzeichnis auf meiner Festplatte eine Excel-Datei namens "Zusammenfassung_Schauklasse.xls" erstellt welche leer ist mit ebenfalls einem Reiter unten (=Tabellenblatt) / (Tabelle 1). Jetzt möchte ich es irgendwie schaffen, dass Excel automatisch alle Daten von den anderen Excel-Dateien untereinander in diese Excel-Datei kopiert.
Dies sollte dann in etwa so aussehen:
Excel holt automatisch aus der Datei "Schauklasse_1.xls" Daten von A1:G10 (da nur Daten in den Feldern von A1 bis G10 vorhanden sind), danach holt Excel automatisch aus der Datei "Schauklasse_2.xls" Daten zum Beispiel von A1:G20 (da zum Beispiel nur Daten in diesen Feldern von A1 bis G20 vorhanden sind) , usw... Bis Excel automatisch alle Daten von den Dateien "Schauklasse_1.xls" bis "Schauklasse_63.xls" gesammelt hat.
Nun kopiert Excel automatisch alle gesammelten Daten untereinander in die Datei "Zusammenfassung_Schauklassen.xls".
Also in etwa sollte das Ergebnis dann so aussehen in der Datei "Zusammenfassung_Schauklasse.xls":
A1:G10 stehen nun die Daten von der Excel Datei "Schauklasse_1.xls"
A13:G32 stehen nun die Daten von der Excel Datei "Schauklasse_2.xls"
Also nach jeder Einfügung von Daten aus einer Excel Datei sollen 2 Zeilen freibleiben und danach soll Excel wieder Daten von einer anderen Datei einfügen, danach wieder 2 Zeilen frei lassen und weiter einfugen, usw... Bis Excel irgendwann zu Schluss die letzten Daten von der Datei "Schauklasse_63.xls" eingefügt hat.
Excel soll mir also in die Datei "Zusammenfassung_Schauklasse.xls" nicht 63 Reiter erstellen (=Tabellenblätter), sonder alle Daten in den Reiter (=Tabellenblatt) "Tabelle 1" kopieren.
Super wäre das ganze auch noch, wenn dieser Prozess automatisch abläuft wenn ein Benutzer die Datei "Zusammenfassung_Schauklasse.xls" öffnet. Somit wäre bei der Öffnung dieser Datei immer der aktuelle Datensatz aus allen 63 Dateien vorhanden.
Wenn ein Benutzer zum Beispiel Daten in der Datei "Schauklasse_1.xls" ändert, so würde sich die Datei namens "Zusammenfassung_Schauklasse.xls" beim öffnen automatisch aktualisieren. D.h. die schon vorhandenen Daten in der Datei "Zusammenfassung_Schauklasse.xls" von der Datei "Schauklasse_1.xls" würden dann automatisch überschrieben werden. Erst danach lässt sich die Excel-Tabelle "Zusammenfassung_Schauklasse.xls" betrachten.
Dies hat folgenden Grund dass ich diese Sache benötige:
Auf der Sharepoint Seite gibt es ein Button zur Datei "Zusammenfassung_Schauklasse.xls" die wiederum andere Benutzer öffnen können. Da einige Benutzer alle Daten aus den 63 Dateien auf einmal zusammenhängend ausdrucken müssen. Somit müssten die Benutzer nur diese eine Datei namens "Zusammenfassung_Schauklasse.xls" öffnen und könnten diese dann bequem mit Excel zusammenhängend ausdrucken.
Ich hoffe dass ich alles ausführlich genug geschildert habe. Ich habe auch schon versucht einige Codes einzubauen (Makro's), doch keiner brachte mir den gewünschten Erfolg. Leider kenne ich mich mit Makro auch nicht aus.
Für jede Hilfe bin ich sehr Dankbar !!!
mfg,
sAUGER
Ich suche jetzt schon seit Tagen nach einer Lösung, doch leider habe ich bis jetzt noch keine genaue Lösung für mein Problem gefunden.
Ich habe mir mit Microsoft Sharepoint Services ein Intranet sozusagen zusammen gestellt. Dort habe ich auf der linken Seite eine Menüleiste, inder es einen Button "Schauklassen" gibt. Klickt man nun auf diesen so öffnet sich per inlineframe in der Mitte der Seite eine Liste mit genau 63 verschiedenen Excel-Dateien.
Diese Dateien haben folgende Namen:
Schauklasse_1.xls
Schauklasse_2.xls
Schauklasse_3.xls
Schauklasse_4.xls
Schauklasse_5.xls
usw...
Also bis "Schauklasse_63.xls".
Nun haben verschiedene Benutzer, Rechte einzelne Dateien mit Excel zu öffnen, zu ändern, und wieder auf dem Sharepoint abzuspeichern. Die Datei wird einfach automatisch mit Excel geöffnet sobald ein Benutzer auf die entsprechende Datei klickt. Wenn er Excel, dann wieder schließt und klickt auf "Änderungen speichern" dann wird die aktualisierte Excel-Tabelle automatisch bei Sharepoint abgespeichert, sodass dort nun die aktuelle Datei automatisch zu finden ist. Da die alte Version ja soeben überschrieben wurde.
Dies funktioniert soweit auch alles einwandfrei. Also "Benutzer 1" kann zum Beispiel die Dateien "Schauklasse_1.xls" bis einschließlich Datei "Schauklasse_25.xls" öffnen, bearbeiten und wieder abspeichern. Und "Benutzer 2" kann zum Beispiel die Dateien "Schauklasse_26.xls" bis einschließlich "Schauklasse_63.xls" öffnen, bearbeiten und wieder abspeichern.
Zur Info: Jede der 63 Excel-Dateien hat nur einen Reiter (=Tabellenblatt) unten (Tabelle 1).
So jetzt möchte ich folgendes erreichen:
Ich habe in einem anderen Verzeichnis auf meiner Festplatte eine Excel-Datei namens "Zusammenfassung_Schauklasse.xls" erstellt welche leer ist mit ebenfalls einem Reiter unten (=Tabellenblatt) / (Tabelle 1). Jetzt möchte ich es irgendwie schaffen, dass Excel automatisch alle Daten von den anderen Excel-Dateien untereinander in diese Excel-Datei kopiert.
Dies sollte dann in etwa so aussehen:
Excel holt automatisch aus der Datei "Schauklasse_1.xls" Daten von A1:G10 (da nur Daten in den Feldern von A1 bis G10 vorhanden sind), danach holt Excel automatisch aus der Datei "Schauklasse_2.xls" Daten zum Beispiel von A1:G20 (da zum Beispiel nur Daten in diesen Feldern von A1 bis G20 vorhanden sind) , usw... Bis Excel automatisch alle Daten von den Dateien "Schauklasse_1.xls" bis "Schauklasse_63.xls" gesammelt hat.
Nun kopiert Excel automatisch alle gesammelten Daten untereinander in die Datei "Zusammenfassung_Schauklassen.xls".
Also in etwa sollte das Ergebnis dann so aussehen in der Datei "Zusammenfassung_Schauklasse.xls":
A1:G10 stehen nun die Daten von der Excel Datei "Schauklasse_1.xls"
die Zeile 11 und die Zeile 12 soll leer bleiben <<
die Zeile 33 und die Zeile 34 soll wieder leer bleiben <<
Excel soll mir also in die Datei "Zusammenfassung_Schauklasse.xls" nicht 63 Reiter erstellen (=Tabellenblätter), sonder alle Daten in den Reiter (=Tabellenblatt) "Tabelle 1" kopieren.
Super wäre das ganze auch noch, wenn dieser Prozess automatisch abläuft wenn ein Benutzer die Datei "Zusammenfassung_Schauklasse.xls" öffnet. Somit wäre bei der Öffnung dieser Datei immer der aktuelle Datensatz aus allen 63 Dateien vorhanden.
Wenn ein Benutzer zum Beispiel Daten in der Datei "Schauklasse_1.xls" ändert, so würde sich die Datei namens "Zusammenfassung_Schauklasse.xls" beim öffnen automatisch aktualisieren. D.h. die schon vorhandenen Daten in der Datei "Zusammenfassung_Schauklasse.xls" von der Datei "Schauklasse_1.xls" würden dann automatisch überschrieben werden. Erst danach lässt sich die Excel-Tabelle "Zusammenfassung_Schauklasse.xls" betrachten.
Dies hat folgenden Grund dass ich diese Sache benötige:
Auf der Sharepoint Seite gibt es ein Button zur Datei "Zusammenfassung_Schauklasse.xls" die wiederum andere Benutzer öffnen können. Da einige Benutzer alle Daten aus den 63 Dateien auf einmal zusammenhängend ausdrucken müssen. Somit müssten die Benutzer nur diese eine Datei namens "Zusammenfassung_Schauklasse.xls" öffnen und könnten diese dann bequem mit Excel zusammenhängend ausdrucken.
Ich hoffe dass ich alles ausführlich genug geschildert habe. Ich habe auch schon versucht einige Codes einzubauen (Makro's), doch keiner brachte mir den gewünschten Erfolg. Leider kenne ich mich mit Makro auch nicht aus.
Für jede Hilfe bin ich sehr Dankbar !!!
mfg,
sAUGER
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 47281
Url: https://administrator.de/forum/spezielles-zusammenfuegen-von-excel-dateien-47281.html
Ausgedruckt am: 21.04.2025 um 19:04 Uhr
29 Kommentare
Neuester Kommentar

Moin,
nettes Makro, geht aber wesentlich kürzer! Frage: ändert sich die Anzahl der Einträge in den einzelnen Tabellen? Wenn nicht, brauchst du kein Makro! Gib mal kurz bescheid!
Psycho
nettes Makro, geht aber wesentlich kürzer! Frage: ändert sich die Anzahl der Einträge in den einzelnen Tabellen? Wenn nicht, brauchst du kein Makro! Gib mal kurz bescheid!
Psycho

OK, dann ein Makro:
Erklärung(sversuche)
Das Makro wird in der Tabelle Zusammenfassung_Schauklasse.xls erstellt und heisst auto_open. Damit wird gewährleistet, dass sie beim Öffnen der Datei ausgeführt wird.
I_Files ist unser Zähler (bis 63)
S_FileName benötigen wir für den Dateinamen
Eine Zählschleife für 63 Durchgänge
Der Dateiname setzt sich aus dem gleichbleibendem Text und dem alktuellen Wert der Zählvariablen zusammen
Achtung! Hier solltest du deinen Pfad vor den Dateinamen setzen!
Nun wird die jeweilige Datei geöffnet
Wir setzen den Cursor an den Anfang der Tabelle
Wenn hier ein Tabellenkopf vorhanden ist, fängst du bei A2 an!
Jetzt wird bis zum letzen Satz der jeweiligen Tabelle markiert und alles in die Zwischenablage kopiert.
Wir aktivieren die Tabelle Zusammenfassung_Schauklasse.xls, suchen uns das Ende und springen drei Zeilen nach unten
Hier wird jetzt der Inhalt der Zwischenablage eingefügt.
Die jeweilige Datei wird geschlossen und die Schleife beginnt von vorn.
Achtung das Makro ist nicht getestet und kann deshalb fehlerhaft sein. Falls das der Fall ist, poste bitte die genaue Fehlermeldung!
Psycho
Sub auto_open()
Dim I_Files As Integer
Dim S_FileName As String
For I_Files = 1 To 63
S_FileName = "Schauklasse_" & CStr(I_Files) & ".xls"
Application.Workbooks.Open (S_FileName)
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Workbooks("Zusammenfassung_Schauklasse.xls").Activate
Range("A65536").End(xlUp).Offset(3, 0).Select
ActiveSheet.Paste
Workbooks(S_FileName).Close
Next I_Files
End Sub
Erklärung(sversuche)
Das Makro wird in der Tabelle Zusammenfassung_Schauklasse.xls erstellt und heisst auto_open. Damit wird gewährleistet, dass sie beim Öffnen der Datei ausgeführt wird.
Dim I_Files As Integer
Dim S_FileName As String
S_FileName benötigen wir für den Dateinamen
For I_Files = 1 To 63
S_FileName = "Schauklasse_" & CStr(I_Files) & ".xls"
Application.Workbooks.Open (S_FileName)
Der Dateiname setzt sich aus dem gleichbleibendem Text und dem alktuellen Wert der Zählvariablen zusammen
Achtung! Hier solltest du deinen Pfad vor den Dateinamen setzen!
Nun wird die jeweilige Datei geöffnet
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Wenn hier ein Tabellenkopf vorhanden ist, fängst du bei A2 an!
Jetzt wird bis zum letzen Satz der jeweiligen Tabelle markiert und alles in die Zwischenablage kopiert.
Workbooks("Zusammenfassung_Schauklasse.xls").Activate
Range("A65536").End(xlUp).Offset(3, 0).Select
ActiveSheet.Paste
Hier wird jetzt der Inhalt der Zwischenablage eingefügt.
Workbooks(S_FileName).Close
Next I_Files
Achtung das Makro ist nicht getestet und kann deshalb fehlerhaft sein. Falls das der Fall ist, poste bitte die genaue Fehlermeldung!
Psycho

Siehe oben!
Psycho
Psycho

Du musst den Pfad der Quelle mit angeben!
Psycho
S_FileName = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\int. Farbkanarienschau\Schauklassen_alte_Excel_Version\Schauklasse_" & CStr(I_Files) & ".xls"
Psycho

Jep,
änder mal in der betreffenden Zeile
in
Psycho
änder mal in der betreffenden Zeile
Workbooks("Zusammenfassung_Schauklasse_drucken.xls").Activate
Windows("Zusammenfassung_Schauklasse_drucken.xls").Activate
Psycho

Versuch mal, dem Blatt vorher einen Namen zu geben:
Unter
baust du ein:
und die ensprechende Zeile ersetzt du durch
Psycho
Unter
Dim S_FileName As String
ActiveWorkbook.Windows(1).Caption = "XYZ"
ActiveWorkbook.Windows("XYZ").Activate

Das Vergeben des Namens machst du im Makro - genau so, wie ich es beschrieben habe!
Psycho
Psycho

Fast!
Die Zeile
musst du durch
ersetzen!
Psycho
Die Zeile
Windows("Zusammenfassung_Schauklasse_drucken.xls").Activate
ActiveWorkbook.Windows("XYZ").Activate
Psycho

So, jetzt eine getestete Fassung:
Psycho
Sub auto_open()
Dim I_Files As Integer
Dim S_FileName As String
ActiveWorkbook.Windows(1).Caption = "XYZ"
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Clear
Application.CutCopyMode = False
For I_Files = 1 To 63
S_FileName = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\int. Farbkanarienschau\Schauklassen_alte_Excel_Version\Schauklasse_" & CStr(I_Files) & ".xls"
Application.Workbooks.Open (S_FileName)
ActiveWorkbook.Windows(1).Caption = "ABC"
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Windows("XYZ").Activate
If I_Files > 1 Then
Range("A65536").End(xlUp).Offset(3, 0).Select
Else
Range("A1").Select
End If
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("ABC").Close
Next I_Files
End Sub
Psycho
Hallo sAUGER!
Wenn Psycho Dad geschrieben hat, dass er das Makro getestet hat, dann kannst Du davon ausgehen, dass dem auch so ist - allerdings hat er wohl andere (bessere - siehe unten) Testdaten verwendet.
Wenn Du Deine Testdaten wie beschrieben eingetragen hast, liegt das Problem wohl in der Zeile
Damit wird für die Daten der nächsten Datei der freie Bereich in Spalte A gesucht, wo Du ja anscheinend nur die Überschrift, aber keine Käfig-Nummern eingetragen hast - teste also nochmal wie oben beschrieben, aber trage in allen Zeilen der "Schauklasse"-Dateien auch etwas in Spalte A ein.
öfnnet keine Datei, sondern benennt das Fenster der soeben geöffneten Datei - statt "XYZ" kannst Du natürlich auch "Zusammenfassung_Schauklassen" schreiben, musst dies aber dann auch in der Zeile
tun.
Das tatsächliche Öffnen der Datei geschieht über Deinen Link - das "auto_open"-Makro wird ja erst beim Öffnen ausgeführt. Damit dies erfolgen kann, muss es sich in der zu öffnenden Datei befinden (bei Dir also in C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\int. Farbkanarienschau\Drucken\Schauklassen_alte_Excel_Version_drucken\Zusammenfassung_Schauklasen_drucken.xls). Somit kannst Du sicher sein, dass die richtige Datei verwendet wird.
Vor dem "End Sub" könntest Du noch
zum Speichern der soeben zusammen gestellten Daten einbauen.
HTH
bastla
Wenn Psycho Dad geschrieben hat, dass er das Makro getestet hat, dann kannst Du davon ausgehen, dass dem auch so ist - allerdings hat er wohl andere (bessere - siehe unten) Testdaten verwendet.
Jetzt habe ich in der Datei "Schauklasse_1.xls" zum testen in das Feld B3 folgendes reingeschrieben >> Zeile 3 <<, in das Feld B4 habe ich "Zeile 4" geschrieben, ins Feld B5 habe ich "Zeile 5" reingeschrieben, ins Feld 6 habe ich "Zeile 6" reingeschrieben usw.. bis Zeile 10, dort habe ich "Zeile 10" reingeschrieben.
In der Datei "Schauklasse_2.xls" habe ich das gleiche gemacht, aber in der Spalte "C". Also in Zeile 3 habe ich dort "Zeile 3" reingeschrieben, usw... bis zur Zeile 15, dort steht "Zeile 15" drin.
In der Datei "Schauklasse_3.xls" habe ich wieder das gleiche gemacht, aber in der Spalte "D". Also in Zeile 3 habe ich dort "Zeile 3" reingeschrieben, usw... bis zur Zeile 20, dort habe ich "Zeile 20" reingeschrieben.
Wenn Du Deine Testdaten wie beschrieben eingetragen hast, liegt das Problem wohl in der Zeile
Range("A65536").End(xlUp).Offset(3, 0).Select
Es öffnet eine Datei namens "XYZ" wobei er dies nicht machen soll, sondern alle Daten aus den 63 Dateien sollen in die Datei "Zusammenfassung_Schauklassen_drucken.xls" kopiert werden (Diese Datei befindet sich in einem anderen Verzeichnis -> C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\int. Farbkanarienschau\Drucken\Schauklassen_alte_Excel_Version_drucken\Zusammenfassung_Schauklasen_drucken.xls)
ActiveWorkbook.Windows(1).Caption = "XYZ"
Windows("XYZ").Activate
Das tatsächliche Öffnen der Datei geschieht über Deinen Link - das "auto_open"-Makro wird ja erst beim Öffnen ausgeführt. Damit dies erfolgen kann, muss es sich in der zu öffnenden Datei befinden (bei Dir also in C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\int. Farbkanarienschau\Drucken\Schauklassen_alte_Excel_Version_drucken\Zusammenfassung_Schauklasen_drucken.xls). Somit kannst Du sicher sein, dass die richtige Datei verwendet wird.
Vor dem "End Sub" könntest Du noch
ActiveWorkbook.Save
HTH
bastla
Hallo sAUGER!
Das folgende Makro ist in jeder einzelnen Datei der "Tabelle1" zuzuordnen (mit Alt-F11 den VBA-Editor öffnen, dort links oben im Projekt-Editor die "Tabelle1" doppelklicken und im Code-Fenster den folgenden Code einfügen):
Das Makro überprüft bei allen Eingaben, ob die Spalte A dieser Zeile noch leer ist, erinnert gegebenen Falls an den fehlenden Eintrag in Spalte A und setzt den Cursor in die entsprechende Zelle (wobei der soeben vorgenommene Eintrag in zB Spalte D jedoch erhalten bleibt).
durch
ersetzen.
Grüße
bastla
... dass dann auch in dieser Zeile bei Spalte "A" Daten eingegeben werden müssen, ansonsten kommt eine "Fehlermeldung oder so was in der Art"?
Das folgende Makro ist in jeder einzelnen Datei der "Tabelle1" zuzuordnen (mit Alt-F11 den VBA-Editor öffnen, dort links oben im Projekt-Editor die "Tabelle1" doppelklicken und im Code-Fenster den folgenden Code einfügen):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsEmpty(Target) Then
If Target.Column <> 1 Then
If IsEmpty(Cells(Target.Row, 1)) Then
MsgBox "Eintrag in Spalte A fehlt noch!", vbCritical
Cells(Target.Row, 1).Select
End If
End If
End If
End Sub
Wenn in den 63 Dateien Formeln enthalten sind, übernimmt der Code beim kopieren dann auch die Formeln mit oder kopiert er rein nur die Daten von den einzelnen Feldern?
Wie Du bei Deinen Tests feststellen kannst, werden in der aktuellen Version von Psycho's Makro auch Formeln kopiert - ist dies nicht gewünscht, so müsstest Du die ZeileActiveSheet.Paste
ActiveSheet.PasteSpecial Paste:=xlPasteValues
ActiveSheet.PasteSpecial Paste:=xlPasteFormats
Grüße
bastla
Hallo sAUGER!
Ausgehend von einem hier zu findenden Code-Beispiel hätte ich für das automatische Speichern die folgende Lösung anzubieten:
Im Codefenster von "Diese Arbeitsmappe":
In einem Modul (falls im Projekt-Explorer für die aktuelle Datei keine "Module" existieren, über Menü "Einfügen / Modul" ein Modul erstellen und doppelklicken, um das Code-Fenster zu öffnen):
Um das automatische Speichern zu verhindern, muss das Makro "Beende" ausgeführt werden (Anmerkung: Beim Schließen der Datei wird versucht, das Autospeichern zu beenden - wurde dieses bereits manuell beendet, wird die Fehlermeldung "Die Methode 'OnTime' für das Objekt '_Application' ist fehlgeschlagen" ausgegeben. Mit der Schaltfläche "Beenden" kann in diesem Fall die Datei geschlossen werden).
Inwieweit das im Hintergrund auf seinen Einsatz "lauernde" Autospeicher-Makro die Performance beeinträchtigt (und ob 10 Sekunden nicht etwas knapp bemessen sind), musst Du selbst herausfinden.
Grüße
bastla
Ausgehend von einem hier zu findenden Code-Beispiel hätte ich für das automatische Speichern die folgende Lösung anzubieten:
Im Codefenster von "Diese Arbeitsmappe":
Sub Workbook_Open()
Speichere
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Beende
End Sub
Const sIntervall As String = "00:00:10" '10 Sekunden
Const sProc As String = "Speichere"
Public vNextTime As Variant
Sub Speichere()
vNextTime = Now + TimeValue(sIntervall)
Application.OnTime vNextTime, sProc
ThisWorkbook.Save
End Sub
Sub Beende()
Application.OnTime vNextTime, sProc, , False
End Sub
Inwieweit das im Hintergrund auf seinen Einsatz "lauernde" Autospeicher-Makro die Performance beeinträchtigt (und ob 10 Sekunden nicht etwas knapp bemessen sind), musst Du selbst herausfinden.
Grüße
bastla