In der VBA (Visual Basic for Applications) Excel-Programmierung ist das Speichern einer Arbeitsmappe eine der wichtigsten Aufgaben, die fast immer gelöst werden müssen. Unabhängig davon, ob Sie eine neue Arbeitsmappe erstellen oder mit einer bereits vorhandenen Arbeitsmappe arbeiten, ist die Speicherung der Daten unerlässlich, um ihre Sicherheit zu gewährleisten und ihre Arbeit fortzusetzen.
Dieser Ansatz behandelt Methoden zum Speichern von Daten in einer Excel-Arbeitsmappe mithilfe von VBA. Anstatt die Tasten manuell zu drücken, um die Datei zu speichern, können Sie mit VBA diesen Prozess automatisieren und viel einfacher und effizienter gestalten.
Mithilfe verschiedener Methoden und Eigenschaften eines Workbook-Objekts in VBA können Sie eine Arbeitsmappe in verschiedenen Formaten speichern, einen Speicherpfad und einen Dateinamen angeben und bestimmte Speicheroptionen aktivieren oder deaktivieren. Dadurch können Sie den Erhaltungsprozess an Ihre Bedürfnisse anpassen und die Produktivität Ihrer Arbeit steigern.
Ansätze zum Speichern einer Arbeitsmappe in Excel VBA
Einführung:
Das Speichern einer Arbeitsmappe (Workbook) ist ein wichtiger Teil der Arbeit mit Excel VBA. Damit können Sie die an einem Dokument vorgenommenen Änderungen speichern und später darauf zugreifen. Dieser Artikel beschreibt verschiedene Ansätze zum Speichern einer Arbeitsmappe in Excel VBA, einschließlich automatisches Speichern, Speichern unter einem bestimmten Dateinamen und Speichern in einem anderen Format.
Automatisches Speichern:
Das automatische Speichern ist die einfachste und bequemste Methode zum Speichern einer Arbeitsmappe. Sie können ein Ereignis in Excel VBA verwenden BeforeClose, Um die Arbeitsmappe vor dem Schließen automatisch zu speichern. Fügen Sie dazu den folgenden Code hinzu:
Private Sub Workbook_BeforeClose(Cancel As Boolean)ActiveWorkbook.SaveEnd Sub
Auf diese Weise wird die Arbeitsmappe beim Schließen automatisch gespeichert.
Speichern mit dem angegebenen Dateinamen:
Manchmal möchten Sie eine Arbeitsmappe mit einem bestimmten Dateinamen speichern. Dazu können Sie die Methode verwenden SaveAs. Im Folgenden finden Sie einen Beispielcode, mit dem Sie eine Arbeitsmappe mit dem Namen "example" speichern können.xlsx":
ActiveWorkbook.SaveAs "C:\Users\Username\example.xlsx"
In diesem Beispiel wird die Datei im angegebenen Verzeichnis mit dem Namen "example" gespeichert.xlsx".
Speichern in einem anderen Format:
Excel unterstützt eine Vielzahl von Dateiformaten, einschließlich XLSX, XLS, CSV und anderen. Wenn Sie die Arbeitsmappe in einem anderen Format speichern möchten, können Sie die Methode verwenden SaveAs und geben Sie das gewünschte Dateiformat an. Um beispielsweise im CSV-Format zu speichern, können Sie den folgenden Code verwenden:
ActiveWorkbook.SaveAs "C:\Users\Username\example.csv", FileFormat:=xlCSV
In diesem Beispiel wird die Arbeitsmappe im CSV-Format (durch Kommas getrennte Werte) mit dem Namen "example" gespeichert.csv".
Schlußfolgerung:
In diesem Artikel wurden verschiedene Ansätze zum Speichern einer Arbeitsmappe in Excel VBA erläutert. Dazu gehören automatisches Speichern, Speichern mit einem bestimmten Dateinamen und Speichern in einem anderen Format. Die Auswahl des Ansatzes hängt von den spezifischen Anforderungen und Aufgaben ab, die Sie mit der Arbeitsmappe ausführen müssen. Es ist wichtig, diese Ansätze beim Entwerfen von Makros in Excel VBA zu berücksichtigen, um sicherzustellen, dass die Daten ordnungsgemäß gespeichert werden.
Speichern im Excel-Format
In Excel VBA gibt es mehrere Möglichkeiten, eine Arbeitsmappe im Excel-Format zu speichern. Betrachten wir einige von ihnen.
1. Speichern der aktuellen Arbeitsmappe:
Sub SaveWorkbook()ThisWorkbook.SaveEnd Sub
Dieser Code speichert die aktuelle Arbeitsmappe mit allen Änderungen in demselben Format, in dem sie geöffnet wurde.
2. Speichern einer Arbeitsmappe im angegebenen Format:
Sub SaveAsWorkbook()ThisWorkbook.SaveAs "C:\Путь\к\файлу.xlsx", FileFormat:=xlOpenXMLWorkbookEnd Sub
In diesem Beispiel wird die Arbeitsmappe im Excel 2007-Format oder höher (xlsx) gespeichert und der Dateipfad einschließlich des Dateinamens und der Erweiterung angegeben.
3. Eine Kopie einer Arbeitsmappe speichern:
Sub SaveCopyWorkbook()ThisWorkbook.SaveCopyAs "C:\Путь\к\копии.xlsx"End Sub
Dieser Code speichert eine Kopie der aktuellen Arbeitsmappe am angegebenen Speicherort.
Andere Speicherformate wie xlsb, xlsm, xls, csv und andere stehen Ihnen ebenfalls zur Verfügung. Ersetzen Sie einfach den Wert des FileFormat-Parameters durch den entsprechenden Wert für das gewünschte Format.
Denken Sie daran, dass Sie nur den Dateinamen und die Erweiterung ohne den vollständigen Dateipfad angeben müssen, um Ihre Arbeitsmappe in einem Ordner zu speichern, für den Sie Zugriffsrechte haben.
Speichern in anderen Formaten
Zusätzlich zum Speichern einer Arbeitsmappe im standardmäßigen Excel-Format können Sie mit VBA Daten in anderen Dateiformaten speichern. Dies kann nützlich sein, wenn Sie Informationen mit Benutzern austauschen müssen, die kein Excel-Programm besitzen oder lieber mit anderen Anwendungen arbeiten möchten.
Eines der gängigsten Formate ist das CSV-Format (Comma Separated Values), das zum Speichern von Tabellendaten als einfache Textdatei verwendet wird. Um eine Arbeitsmappe im CSV-Format zu speichern, können Sie den folgenden Code verwenden:
Sub SaveAsCSV()ActiveWorkbook.SaveAs FileName:="C:\путь\к\файлу.csv", FileFormat:=xlCSV, CreateBackup:=FalseEnd Sub
Alternativ können Sie Ihre Arbeitsmappe im PDF-Format speichern, einem universellen Format für den Austausch von Dokumenten. Dies ist besonders nützlich, wenn Sie ein Dokument unveränderlich speichern möchten, damit es nicht bearbeitet werden kann. Verwenden Sie zum Speichern im PDF-Format den folgenden Code:
Sub SaveAsPDF()ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:="C:\путь\к\файлу.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=FalseEnd Sub
Wie Sie sehen können, ist das Speichern einer Arbeitsmappe in anderen Formaten mit VBA einfach und effizient. Sie haben die Möglichkeit, das Dateiformat auszuwählen, das für Ihre Bedürfnisse am besten geeignet ist und Daten mit anderen Benutzern auszutauschen.
Automatisches Speichern
Es gibt mehrere Ansätze, um die automatische Speicherung zu konfigurieren. Eine davon ist die Verwendung von VBA-Ereignissen. Dadurch können Sie eine bestimmte Aktion bei einem bestimmten Ereignis ausführen, z. B. wenn Sie eine Arbeitsmappe schließen oder Daten ändern.
Sie können ein Ereignis verwenden, um die Arbeitsmappe automatisch zu speichern, wenn Sie sie schließen BeforeClose. Es wird ausgelöst, bevor die Arbeitsmappe geschlossen wird, und Sie können Code hinzufügen, der die Arbeitsmappe vor dem Schließen speichert.
Private Sub Workbook_BeforeClose(Cancel As Boolean)ThisWorkbook.SaveEnd Sub
Auf diese Weise wird die Arbeitsmappe beim Schließen automatisch gespeichert. Wenn Sie die Daten nach dem letzten Speichern geändert haben, werden Sie von Excel aufgefordert, die Änderungen vor dem Schließen zu speichern.
Ein weiterer Ansatz ist die Verwendung eines Ereignisses Workbook_BeforeSave. Es wird ausgelöst, bevor die Arbeitsmappe gespeichert wird, und Sie können Code hinzufügen, der die Arbeitsmappe automatisch speichert.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)ThisWorkbook.SaveEnd Sub
Jedes Mal, wenn Sie versuchen, eine Arbeitsmappe zu speichern, wird sie automatisch gespeichert.
Sie können auch das automatische Speichern in einem bestimmten Zeitintervall mithilfe der Methode konfigurieren Application.OnTime. Sie können angeben, wie oft Sie gespeichert werden sollen, und den Code angeben, der bei jedem Speichern ausgeführt wird.
Sub AutoSave()Application.OnTime Now + TimeValue("00:05:00"), "SaveWorkbook"End SubSub SaveWorkbook()ThisWorkbook.SaveAutoSaveEnd Sub
Auf diese Weise wird die Arbeitsmappe automatisch alle 5 Minuten gespeichert.
Das automatische Speichern in Excel VBA vereinfacht den Arbeitsablauf erheblich und gewährleistet die Datensicherheit. Verwenden Sie diese Ansätze, um das Risiko von Datenverlust zu reduzieren und Zeit zu sparen.
Speichern mit Makros
In Excel VBA können Sie Makros verwenden, um eine Arbeitsmappe automatisch zu speichern. Makros sind eine Reihe von Aktionen, die aufgezeichnet und dann immer wieder ausgeführt werden können. Dadurch wird der Zeitaufwand für wiederkehrende Aufgaben wie das Speichern einer Arbeitsmappe reduziert.
Um ein Makro zu erstellen, klicken Sie in der Excel-Werkzeugleiste auf die Registerkarte "Entwickler" und klicken Sie auf die Schaltfläche "Makro aufzeichnen". Im angezeigten Dialogfeld können Sie den Namen des Makros festlegen und den Speicherort auswählen, an dem es gespeichert werden soll (normalerweise in einem Modul dieser Arbeitsmappe).
Wenn das Makro Aufzeichnungsmodus aktiv ist, wird alles, was Sie in der Arbeitsmappe tun, aufgezeichnet. Wenn Sie beispielsweise eine andere Arbeitsmappe öffnen, die Daten ändern und speichern, werden alle diese Aktionen in ein Makro geschrieben.
Nachdem Sie ein Makro aufgezeichnet haben, können Sie es ausführen, indem Sie auf der Registerkarte "Entwickler" auf die Schaltfläche "Makro ausführen" klicken. Das Makro wird automatisch ausgeführt und wiederholt alle von Ihnen aufgezeichneten Aktionen.
Um ein Makro zum Speichern einer Arbeitsmappe zu verwenden, können Sie die folgenden Schritte aufzeichnen:
- Öffnen Sie das Dialogfeld zum Speichern der Datei mit dem Befehl Application.GetSaveAsFilename".
- Geben Sie den Dateinamen und den Pfad zu der Datei an.
- Speichern Sie die Arbeitsmappe mit dem Befehl Workbook.SaveAs".
- Schließt das Dialogfeld Datei speichern.
Ein solches Makro kann jederzeit ausgeführt werden, und es würde die aktuelle Arbeitsmappe mit dem ausgewählten Namen und Speicherort speichern.
Die Verwendung von Makros zum Speichern einer Arbeitsmappe ist ein einfacher und effizienter Ansatz, der Ihnen Zeit spart und die Arbeit in Excel bequemer und automatisierter macht.
Sichern einer Arbeitsmappe
Eine Möglichkeit besteht darin, die SaveCopyAs-Methode zu verwenden. Mit dieser Methode können Sie eine Kopie der aktuellen Arbeitsmappe in einer neuen Datei speichern. Geben Sie hierzu den Pfad zu der Datei an, in der Sie die Kopie der Arbeitsmappe speichern möchten. Zum Beispiel:
ActiveWorkbook.SaveCopyAs "C:\Backup\MyWorkbookCopy.xlsx"
In diesem Beispiel wird eine Kopie der Arbeitsmappe unter dem angegebenen Pfad mit dem Dateinamen "MyWorkbookCopy" gespeichert.xlsx".
Eine andere Möglichkeit ist die Verwendung der SaveAs-Methode. Mit dieser Methode können Sie eine Kopie Ihrer Arbeitsmappe in einer neuen Datei speichern und verschiedene Sicherungsoptionen wie das Dateiformat, den Kennwortschutz und andere festlegen. Zum Beispiel:
ActiveWorkbook.SaveAs "C:\Backup\MyWorkbookCopy.xlsx", xlOpenXMLWorkbook
In diesem Beispiel wird eine Kopie der Arbeitsmappe im Open XML-Arbeitsmappenformat (.xlsx) im angegebenen Pfad.
Sie können auch ein Makro erstellen, das automatisch Kopien der Arbeitsmappe planmäßig speichert. Dazu können Sie die Methoden OnTime und Application verwenden.OnTime . Der folgende Code speichert beispielsweise jede Stunde eine Kopie der Arbeitsmappe:
Sub BackupWorkbook()ActiveWorkbook.SaveCopyAs "C:\Backup\MyWorkbookCopy.xlsx"Application.OnTime Now + TimeValue("01:00:00"), "BackupWorkbook"End Sub
Mit diesen Ansätzen können Sie den Sicherungsvorgang einer Arbeitsmappe automatisieren und die Daten in Excel VBA sichern.
| Methode | Die Beschreibung |
|---|---|
| SaveCopyAs | Speichert eine Kopie der Arbeitsmappe in einer neuen Datei |
| SaveAs | Speichert eine Kopie der Arbeitsmappe in einer neuen Datei mit den angegebenen Parametern |
| OnTime , Application.OnTime | Erstellt einen Zeitplan, um automatisch eine Kopie der Arbeitsmappe zu speichern |
Optimieren des Speicherns einer Arbeitsmappe
Wenn es darum geht, eine Arbeitsmappe in Excel VBA zu speichern, kann die Prozessoptimierung die Leistung erheblich verbessern und Benutzerzeit sparen. In diesem Abschnitt werden wir einige Möglichkeiten zur Optimierung der Beibehaltung einer Arbeitsmappe untersuchen, die Ihnen bei der Entwicklung von Makros hilfreich sein werden.
1. Verwenden Sie das Dateiformat mit der kleinsten Größe
Wenn Sie eine Arbeitsmappe im Excel-Format speichern, können Sie aus mehreren verfügbaren Dateiformaten auswählen, z. B. .xlsx, .xlsb, .xlsm und andere. Einige Formate benötigen jedoch möglicherweise mehr Speicherplatz, daher wird empfohlen, die Dateiformate mit der kleinsten Größe auszuwählen, um Speicherplatz zu sparen.
2. Deaktivieren Sie die automatische Neuspeicherung des Backups
Excel hat die Funktion, beim Speichern einer Arbeitsmappe automatisch eine Sicherungskopie zu erstellen. Obwohl dies im Falle eines Datenverlustes nützlich sein kann, kann die automatische Sicherung den Sicherungsvorgang verlangsamen. Wenn Sie der Meinung sind, dass Backups erforderlich sind, sollten Sie regelmäßig selbst Backups erstellen und speichern, um Verzögerungen bei der Sicherung zu vermeiden.
3. Verwenden Sie optimale Erhaltungsmethoden
Excel VBA bietet verschiedene Methoden zum Speichern einer Arbeitsmappe, z. B. Save, SaveAs und SaveCopyAs. Die Auswahl der richtigen Methode kann je nach Ihren Bedürfnissen den Erhaltungsprozess beschleunigen. Wenn Sie beispielsweise eine Kopie Ihrer Arbeitsmappe in einer neuen Datei mit einem anderen Namen speichern müssen, können Sie die SaveCopyAs-Methode verwenden, die wesentlich schneller ist als das Speichern und Umbenennen der Originaldatei.
4. Optimieren Sie die Arbeit mit den Daten vor dem Speichern
Bevor Sie eine Arbeitsmappe speichern, können Sie die Arbeit mit den Daten optimieren, um die Menge an Informationen zu reduzieren, die Sie speichern möchten. Sie können beispielsweise leere Zeilen und Spalten entfernen, Zellen mit denselben Werten kombinieren und so weiter. Dadurch wird die Dateigröße reduziert und der Speichervorgang beschleunigt.
5. Verwenden Sie Dateikomprimierung
Excel bietet die Möglichkeit, Dateien zu komprimieren, was dazu beitragen kann, die Größe einer Arbeitsmappe zu reduzieren und den Speichervorgang zu beschleunigen. Wenn Sie eine Arbeitsmappe speichern, können Sie die Option "Komprimieren" aktivieren und den gewünschten Komprimierungsgrad auswählen. Dies ist besonders nützlich, wenn Sie mit großen Dateien arbeiten.
| Rat | Die Beschreibung |
|---|---|
| 1 | Wählen Sie das Dateiformat mit der kleinsten Größe aus. |
| 2 | Deaktivieren Sie die automatische Neuspeicherung des Backups. |
| 3 | Verwenden Sie optimale Speichermethoden. |
| 4 | Optimieren Sie die Arbeit mit den Daten vor dem Speichern. |
| 5 | Verwenden Sie die Dateikomprimierung, um die Größe der Arbeitsmappe zu reduzieren. |