Excel Dateigröße komprimieren
07.12.2019 12:39:15
Matthias
ich habe ein Problem, welches ich gern lösen möchte. Es wurde bereits schon häufiger nach Lösungen bei ähnlichen Fällen hier gefragt, aber die Vorschläge haben mir leider nicht geholfen...
Ich arbeite gerade an einer Teilkalkulation in Excel. Die Übersicht bezieht Daten über Formeln/Makros aus verschiedenen Auswertungen in anderen Arbeitsblättern der Datei. Per Button wird dann die Übersicht (enthält Teilinformationen, Umsatz- und Produktionsdaten mit zwei Diagrammen und eine kleine Kostenaufstellung) kopiert,in einer neuen Datei eingefügt und in einen von mir gewählten Pfad gespeichert. Hier zur Illustration mein Code dafür:
Sub Extrahieren()
Dim Dateiname As Variant
'laufwerk
ChDrive "C:\"
'ordner
ChDir "\"
Teilnummer = Sheets("Teileübersicht").Range("B1")
Datum = Sheets("Teileübersicht").Range("P35")
Produktgruppe = Sheets("Teileübersicht").Range("B4")
Dateiname = Application.GetSaveAsFilename _
(Teilnummer & "--PG_" & Produktgruppe & Datum, "Microsoft Excel-Dateien (*.xlsx),*.xlsx")
If TypeName(Dateiname) = "String" Then
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Value = .Value
End With
ActiveWorkbook.SaveAs Dateiname
End If
End Sub
Ich habe also nun eine neue Datei mit nur einer Arbeitsmappe. Alles wurde als Werte als kopiert, somit habe ich keine Formeln mehr. Makros wurden ebenfalls dank xlsx nicht mit eingebracht. Ich habe nur noch Zellformatierungen und die zwei Diagramme neben meinen Werten. Soweit so gut...Zumindest bis ich mir die Dateigröße angesehen habe. Satte 4,3MB (zum Vergleich: die Datei der Teilkalkulation ist nur 13MB groß!). Als ich die Arbeitsmappe aus der vom Makro generierten Datei manuell heraus kopiert und in eine wiederum neue Datei gespeichert habe, war diese dann nur noch 25KB groß (genau das, was ich erwartet habe und auch will!).
Nun meine Frage: Warum ist das so? Und was muss ich ändern oder in mein Makro schreiben, damit die generierte Datei nicht so groß ist? Ich habe das Makro, damit ich genau diesen manuellen Aufwand nicht betreiben muss...
Mein benutzter Bereich laut Strg+Ende ist von A1:U75, also wirklich nur soweit wie nötig. Ich habe auch aus Spaß mal alle Formatierungen (Rahmen, Farben in Zellen usw.) in der generierten Datei entfernt... Dateigröße war danach unverändert. Es müssen also irgendwelche hidden values in der Datei sein, die ich mir einfach nicht erklären kann...
Über jeden Vorschlag bzw. jede Hilfe wäre ich sehr dankbar.