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

Speichern eines einzelnen Tabellenblattes (Nur Werte)

Forumthread: Speichern eines einzelnen Tabellenblattes (Nur Werte)

Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 18:12:29
Frank Kahle
Hallo zusammen,

ich möchte gerne aus einem Excel-Tabellenblatt mit mehreren Tabellen eine einzelne Tabelle speichern.
Ich habe ein Makro(VBA) gefunden welches dieses erledigt. Allerdings werden die Formeln und Bezugspunkte mit gespeichert.
Nach weiterer Suche habe ich dann ein Makro (VBA) gefunden bei dem nur die Werte gespeichert werden.
Allerdings werden nun keine Schriftgrößen, und Zellenformate (Datum, Währung, Zahl usw.)mit gespeichert.
Dieses heißt. ich erhalte ein Tabellenblatt das sehr bescheiden aussieht und mit dem Umformieren mehr Arbeit macht als gewünscht.

Frage:
Gibt es eine Möglichkeit nur Werte zu speichern aber das Format des Arbeitsblattes zu erhalten. Sprich Zellenformatierungen (Datum, Währung, Zahl usw.) oder erwarte ich da zu viel von Excel und VBA.

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 18:18:36
cysu11
Hallo Frank,

dann zeig doch mal dein zwei gefundenen Codes? :)

LG, Alexandra
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 18:19:08
cysu11
am besten eine Beispieldatei gleich hochladen...
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 18:33:34
RPP63
Moin!
Da ich auch befürchte, dass es hier mit den korrekten Begrifflichkeiten etwas durcheinander gerät, schieße ich mich vollumfänglich an.
Tabellenblatt mit mehreren Tabellen heißt für mich ListObjects(), auch bekannt als "intelligente" Tabellen.
Dessen .Range.Value braucht man ja nur = .Range.Value zu setzen.
Deshalb:
Beispieldatei nebst Code.

Gruß Ralf
Anzeige
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 20:44:25
xlKing
Hi,

Falls es ausreicht nur die Zahlenformate (Datum, Währung, Zahl) beizubehalten, Dann speichere das Tabellenblatt doch einfach als CSV. Die Schriftgröße und Spaltenbreite ist nach dem Import schnell wieder angepasst.

Gruß Mr. K.
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 21:15:17
xlKing
Nochmal Hi,

Andere Idee: Du brauchst doch nur das Tabellenblatt in ein neue Arbeitsmappe zu kopieren und dann die Links zur alten Mappe trennen. Dann werden Bezüge auf andere Tabellen automatisch in Werte umgewandelt. Formeln die innerhalb des Tabellenblatt bleiben können weiterleben.

Sub Einzelnes_Blatt()


Dim oldWB As Workbook
Set oldWB = ThisWorkbook

ActiveSheet.Copy
ActiveWorkbook.BreakLink oldWB.Name, xlLinkTypeExcelLinks

'Originaldatei schließen
oldWB.Saved = True
oldWB.Close

End Sub


Gruß Mr. K.

Anzeige
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 20:27:25
Frank Kahle
Ich möchte mich im Vorfeld für die ungenauen Aussagen entschuldigen.

Es ist ein Excel Worksheet mit mehreren Tabellenblättern
Dateneingabe = Tabelle 1.
Hier werden die Daten eingegeben die Teilweise aus anderen Blättern abgerufen werden (Pakete = Tabelle 4 Daten = Tabelle 5)
Übersicht und Auflistung = Tabelle 2
Hier werden die Daten in Reinform aus der Dateneingabe eingetragen.
Endform = Tabelle 3
hier werden die Daten ähnlich wie bei Übersicht und Auflistung aufgearbeitet nur um dann im PDF Format gedruckt zu werden.

Über den unten gezeigten Code wird immer das aktuelle Arbeitsblatt (Tabelle 1 -2- 3 usw. ) Benötigt wird im Normalfall immer nur Tabelle 2 da diese an dritte weitergegeben wird. Diese haben dann natürlich keinen Zugriff auf Tabelle 1 (Eingabe). Heißt die Verweise bzw. Formeln die vorhanden sind müssen beim Speichern in reine Werte umgewandelt werden.

z.B
=LINKS(Eingabe!H12;4)&" "&LINKS(Eingabe!I12;4)&" "&LINKS(Eingabe!J12;4)&" "&LINKS(Eingabe!K12;4)&" "&LINKS(EIngabe!L12;4)&" "&LINKS(Eingabe!M12;4)&" "&LINKS(Eingabe!N12;4).

=WENN(Eingabe!F12="";"";Eingabe!F12)

So ist das gesamte Tabellenblatt (Worksheet?? ) aufgebaut.

Ich hoffe es ist jetzt etwas verständlicher.. Ich beantworte gerne weiter Fragen oder Unklarheiten.
Werde versuchen den Umgangston hier so schnell wie möglich zu lernen :-)

Das ist der Code zum speichern des Arbeitsblattes


Sub BlattSpeichern2()

On Error GoTo fehlermeldung

Dim TBName$, WBName$, aktuellerPfad$

TBName = ActiveSheet.Name
aktuellerPfad = ThisWorkbook.Path

WBName = InputBox("Unter welchem Dateinamen soll das Tabellenblatt gespeichert werden?" & Chr(13) & _
"Bitte den Dateinamen eingeben:")
If WBName = "" Then Exit Sub


ActiveSheet.Cells.Copy
Set WSNew = Workbooks.Add
WSNew.Worksheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks _
:=False, Transpose:=False
WSNew.SaveAs Filename:=aktuellerPfad & "\" & WBName
WSNew.Close


Exit Sub

fehlermeldung:
MsgBox "Es ist ein Fehler aufgetreten!"
End Sub


Anzeige
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 20:39:09
cysu11
Hallo Frank,

probiere mal so:

Sub BlattSpeichern2()

On Error GoTo fehlermeldung
Dim TBName$, WBName$, aktuellerPfad$
TBName = ActiveSheet.Name
aktuellerPfad = ThisWorkbook.Path
WBName = InputBox("Unter welchem Dateinamen soll das Tabellenblatt gespeichert werden?" & Chr(13) & _
"Bitte den Dateinamen eingeben:")
If WBName = "" Then Exit Sub
ActiveSheet.Cells.Copy
Set wsnew = Workbooks.Add
wsnew.Worksheets(1).Range("A1").PasteSpecial xlPasteAll
wsnew.Worksheets(1).UsedRange.Value = wsnew.Worksheets(1).UsedRange.Value
wsnew.SaveAs Filename:=aktuellerPfad & "\" & WBName
wsnew.Close
Exit Sub
fehlermeldung:
MsgBox "Es ist ein Fehler aufgetreten!"
End Sub


LG, Alexandra
Anzeige
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 20:56:05
Frank Kahle
Das klappt herausragend gut.
Vielen Dank
Einzige kleine Problem ist das der Letzte Wert jetzt so aussieht €100,00.... kann man das noch in 100,00 € ändern.

Wenn nicht kann ich damit auch leben.

Ich bedanke mich vielmals.

Wir werden uns öfters lesen.. :-)
AW: Speichern eines einzelnen Tabellenblattes (Nur Werte)
03.07.2025 20:41:56
daniel
Hi
nach dem Einfügen der Wert kannst du direkt hinterher auch noch die Formate einfügen:
ActiveSheet.Cells.Copy

...
WSNew.Worksheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
WSNew.Worksheets(1).Range("A1").PasteSpecial Paste:=xlPasteFormats

(die restlichen Parameter beim Einfügen kann man, wenn man nur normal einfügt, weglassen und muss sie nicht angeben)

Gruß Daniel
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18