Excel: Tabellenblatt nur mit Werten als neue Datei speichern
Schritt-für-Schritt-Anleitung
Um ein Excel-Tabellenblatt als neue Datei zu speichern und dabei nur die Werte zu übertragen, kannst Du den folgenden VBA-Code verwenden. Dieser Code erstellt eine neue Excel-Datei, kopiert die Inhalte des aktiven Blatts und speichert nur die Werte, ohne Formeln oder Links.
- Öffne den VBA-Editor: Drücke
ALT + F11
.
- Füge ein neues Modul hinzu: Klicke auf
Einfügen
> Modul
.
- Kopiere den folgenden Code in das Modul:
Sub Speichern()
Dim Pfad As String, Dateiname As String
ChDir "\"
Pfad = "<dein_pfad>"
Dateiname = Range("B2").Value
ActiveSheet.Cells.Copy
Set WSNew = Workbooks.Add
WSNew.Worksheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
WSNew.SaveAs Filename:=Pfad & Dateiname
WSNew.Close
End Sub
- Passe den Pfad an: Ersetze
<dein_pfad>
durch den gewünschten Speicherort.
- Führe das Makro aus: Drücke
F5
oder wähle das Makro aus und klicke auf Ausführen
.
Häufige Fehler und Lösungen
-
Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn der Pfad oder der Dateiname ungültig ist. Stelle sicher, dass der Pfad korrekt ist und dass Du Schreibberechtigungen für diesen Ordner hast.
-
Zellen werden nicht richtig kopiert: Wenn Du die Werte nicht korrekt überträgst, überprüfe, ob Du PasteSpecial
richtig benutzt hast. Stelle sicher, dass Paste:=xlPasteValues
korrekt angegeben ist.
Alternative Methoden
Wenn Du kein VBA verwenden möchtest, kannst Du auch die Speichern unter
-Funktion von Excel nutzen:
- Kopiere die Zellen: Markiere die Zellen, die Du exportieren möchtest und kopiere sie (
STRG + C
).
- Füge sie in ein neues Blatt ein: Öffne ein neues Arbeitsblatt und füge die Zellen mit
Rechtsklick
> Inhalte einfügen
> Werte
ein.
- Speichere die Datei: Gehe zu
Datei
> Speichern unter
und wähle den gewünschten Speicherort.
Praktische Beispiele
Beispiel 1: Speichern eines einzelnen Tabellenblatts
Wenn Du nur ein spezifisches Tabellenblatt speichern möchtest, kannst Du den Namen des Arbeitsblatts anpassen:
ActiveWorkbook.Worksheets("MeinTabelle").Cells.Copy
Beispiel 2: Speichern unter einem bestimmten Dateiformat
Möchtest Du die Datei im CSV-Format speichern, kannst Du die SaveAs
-Funktion wie folgt anpassen:
WSNew.SaveAs Filename:=Pfad & Dateiname, FileFormat:=xlCSV
Tipps für Profis
-
Automatisiere den Prozess: Du kannst das Makro anpassen, um es automatisch bei bestimmten Ereignissen (z.B. beim Schließen der Datei) auszuführen.
-
Nutze Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um besser mit Laufzeitfehlern umzugehen:
On Error GoTo ErrorHandler
' Dein Code hier
Exit Sub
ErrorHandler:
MsgBox "Fehler: " & Err.Description
FAQ: Häufige Fragen
1. Kann ich mehrere Tabellenblätter gleichzeitig speichern?
Ja, Du kannst eine Schleife verwenden, um alle gewünschten Blätter zu durchlaufen und jeweils eine neue Datei zu speichern.
2. Was mache ich, wenn ich nur bestimmte Zellen speichern möchte?
Du kannst den Bereich anpassen, den Du kopierst. Statt ActiveSheet.Cells.Copy
könntest Du z.B. ActiveSheet.Range("A1:C10").Copy
verwenden.