Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Speichern nur eines Tabellenblattes

Forumthread: Speichern nur eines Tabellenblattes

Speichern nur eines Tabellenblattes
19.08.2002 08:21:42
Stephan
Hallo zusammen,

kann man von einer Arbeitsmappe nur ein Tabellenblatt speichern.

Gruß Stephan

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Speichern nur eines Tabellenblattes
19.08.2002 08:24:20
Hajo_Zi
Hallo Stephan

mit VBA

321. Einzelnes Register speichern
Sub Blattspeichern()
ActiveSheet.Copy
ActiveWorkbook.SaveAs FileName:="D:\Eigene Dateien\Hajo\" & ActiveSheet.Name & ".xls"
End Sub
Ansatz von guenter


Gruß Hajo

Re: Speichern nur eines Tabellenblattes
19.08.2002 08:27:33
Stephan
Hallo,

guter Ansatz: Ist es nun auch noch möglich, dem Benutzer die Wahl zu lassen, wo und unter welchem Namen er das Register speichern will (= das Fenster wie bei "speichern unter..." soll auftauchen)?!?

Gruß Stephan

Anzeige
Re: Speichern nur eines Tabellenblattes
19.08.2002 08:31:49
Hajo_Zi
Hallo Stephan

immer die Aufgabe ganz beschreiben das spart Arbeit.

Gruß Hajo

Re: Speichern nur eines Tabellenblattes
19.08.2002 09:05:06
Stephan
Hallo Hajo,

soory dass ich die Aufgabe nicht komplett stelle, aber die Probelem treten immer nur nach und nach auf. Ich versuche dir mal zu erklärern, was der eigentliche Sinn meiner Aufgabe ist:
Ich habe eine Arbeitsmappe mit mehreren Registern (Tabellenblättern), die dadurch entstehen, dass der Benutzer Eingaben macht und aufgrund dieser Eingaben werden andere Zellen ausgefüllt. Damit nun ein "Ist-Stand" zur Verfügung steht, will ich das Tabellenblatt (und nur das) speichern. Soweit weiß ich nun Bescheid. Das Probelm was ich nun ncoh habe,ist dass von dem Tabellenblatt nur die Werte und Formate gespeichert werden sollen, aber keine Formeln mehr. Ich habe versucht, das Blatt in eine neue Datei zu kopieren, dann das Blatt mit deinem Befehl zu speichern, aber dann soltle das Makro das Blatt wieder löschen, was es aber nicht macht. Viell. bricht das Makro auf gleich nach der Dialogbox "speichern unter.." ab?!?
Kannst du mir weiterhelfen?
Gruß Stephan

Anzeige
Re: Speichern nur eines Tabellenblattes
19.08.2002 09:11:11
Hajo_Zi
Hallo Stephan

so ganz komme ich mit Deiner Beschreibung nicht klar
Formel durch Werte ersetzen im neuen Blatt durch folgenden Zusatz

was Du mit Löschen meinst ist mir völlig unklar.

Gruß Hajo

Re: Speichern nur eines Tabellenblattes
19.08.2002 09:16:15
Stephan
Hallo Hajo,

das Tabellenblatt soll in der bestehenden Datei unverändert bleiben, also mit Formeln und Makroverknüpfungen etc.
in der gespeicherten Version aber sollen nur die Werte und Formate übernommen werden.
Mit löschen meinte ich das aktuelle Fenster, das ich aufgemacht habe.

ich schick dir mal mal meinen Code:
Speichername = ActiveSheet.Name
Cells.Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.Zoom = 75
Range("B1:M1").Select
Application.CutCopyMode = False

ActiveSheet.Copy
Application.Dialogs(xlDialogSaveAs).Show Speichername & ".xls"
ActiveWindow.Close

Das Makro macht alles bis auf das schließen des Windows!

Gruß Stephan

Anzeige
Re: Speichern nur eines Tabellenblattes
19.08.2002 09:19:21
Hajo_Zi
Hallo Stephan

ich muß jetz weg.
Aber hast Du meinen Code getestet. Ich bin der Auffassung der macht genau das was Du willst.

Gruß Hajo

Re: Speichern nur eines Tabellenblattes
19.08.2002 09:22:35
JürgenR
Hi,

ersetze ActiveWindow.Close mal durch ActiveWorkbook.Close

Gruß
Jürgen

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Einzelnes Tabellenblatt aus Excel speichern


Schritt-für-Schritt-Anleitung

Um ein einzelnes Tabellenblatt in Excel als neue Datei zu speichern, kannst Du den folgenden VBA-Code verwenden:

Sub Blattspeichern()
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs FileName:="D:\Eigene Dateien\" & ActiveSheet.Name & ".xls"
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Kopiere den obigen Code in das Modul.
  4. Passe den Dateipfad im Code an, wo Du die Datei speichern möchtest.
  5. Schließe den VBA-Editor und führe das Makro aus, wenn das gewünschte Tabellenblatt aktiv ist.

Falls Du den Benutzer die Möglichkeit geben möchtest, den Speicherort und den Dateinamen auszuwählen, kannst Du den Code wie folgt anpassen:

Sub BlattspeichernMitDialog()
    ActiveSheet.Copy
    Application.Dialogs(xlDialogSaveAs).Show
End Sub

Häufige Fehler und Lösungen

Fehler: Das Speicherfenster öffnet sich nicht.

Lösung: Stelle sicher, dass Du den richtigen Dialog verwendest. Überprüfe, ob der Code korrekt in ein VBA-Modul eingefügt wurde.

Fehler: Das gespeicherte Blatt enthält noch Formeln.

Lösung: Verwende den folgenden Code, um nur die Werte und Formate zu speichern:

Sub SpeichernOhneFormeln()
    Dim Speichername As String
    Speichername = ActiveSheet.Name
    Cells.Copy
    Workbooks.Add
    Selection.PasteSpecial Paste:=xlValues
    Selection.PasteSpecial Paste:=xlFormats
    Application.Dialogs(xlDialogSaveAs).Show Speichername & ".xls"
    ActiveWindow.Close
End Sub

Alternative Methoden

Eine weitere Möglichkeit, ein einzelnes Arbeitsblatt zu speichern, besteht darin, die Funktion „Speichern unter“ im Menü zu verwenden. Wähle das gewünschte Tabellenblatt aus, klicke auf „Datei“ > „Speichern unter“ und wähle den Speicherort sowie den Dateinamen aus.


Praktische Beispiele

Hier ist ein Beispiel, um ein einzelnes Blatt aus einer Arbeitsmappe zu speichern, wobei nur die Werte und Formate übernommen werden:

Sub SpeichernEinzelnesBlatt()
    Cells.Copy
    Workbooks.Add
    Selection.PasteSpecial Paste:=xlValues
    Selection.PasteSpecial Paste:=xlFormats
    ActiveWorkbook.SaveAs FileName:="D:\Eigene Dateien\NeuesBlatt.xls"
    ActiveWindow.Close
End Sub

In diesem Beispiel wird ein neues Excel-Dokument erstellt, in das nur die Werte und Formate des aktiven Blattes kopiert werden.


Tipps für Profis

  • Nutze Application.DisplayAlerts = False, um Warnmeldungen beim Schließen von Arbeitsmappen zu unterdrücken.
  • Teste Deinen VBA-Code in einer Kopie Deiner Arbeitsmappe, um Datenverlust zu vermeiden.
  • Verwende aussagekräftige Dateinamen, um die verwalteten Dateien besser zu organisieren.

FAQ: Häufige Fragen

1. Wie kann ich ein einzelnes Arbeitsblatt speichern, ohne das gesamte Workbook zu speichern? Du kannst das oben gezeigte VBA-Skript verwenden, um nur das aktive Tabellenblatt zu speichern.

2. Kann ich den Speicherort für das gespeicherte Blatt auswählen? Ja, indem Du Application.Dialogs(xlDialogSaveAs).Show in Deinem VBA-Code verwendest, wird ein Dialog geöffnet, in dem Du den Speicherort auswählen kannst.

3. Wie speichere ich nur die Werte ohne Formeln? Verwende die PasteSpecial-Methode mit dem Parameter xlValues, um nur die Werte zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige