Registriert seit: 24.04.2014
Hallo zusammen,
welche Möglichkeiten gibt es denn eine xlsm Datei mit mehreren Tabellenblättern zusätzlich als xlsx zu speichern und die Inhalte in diesen Tabellenblätter nur als Werte?
Die xlsm Datei selbst sollte idealerweise unverändert bleiben.
Danke für eure Hilfe und lg
Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
08.10.2014, 11:29
(Dieser Beitrag wurde zuletzt bearbeitet: 08.10.2014, 11:32 von WillWissen.)
Hi Olli,
ganz normal mit "Speichern unter" und der Angabe xlsx. Die Makros sind dann aber weg.
Nachtrag: hab jetzt erst gesehen, dass du nur die Werte speichern willst. Dann speichere die Datei als PDF-Datei.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
Hallo,
Teil 1) Da Du eh Makros nutzt schau Dir mal die ActiveWorkbook.SaveCopyAs Methode an.
Zum Teil 2 habe ich, wenn ich mich nicht irre, etwas zu Hause liegen. Sollte die Frage bis dato noch offen sein schau ich mal nach.
Gruß
Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 12.04.2014
Version(en): Office 365
08.10.2014, 11:41
(Dieser Beitrag wurde zuletzt bearbeitet: 08.10.2014, 11:48 von Peter.)
Hallo,
VBA ist nicht meine Baustelle, ich habe aber mal bei einem ähnlichen Problem diesen Code verwendet:
Code:
Sub Speichern()
'Quelle: Herber
Dim wks As Worksheet
Dim sFile As String
Application.ScreenUpdating = False
'sFile = Application.DefaultFilePath & "\test.xls"
sFile = "C:\Test\" & "test.xls"
For Each wks In Worksheets
With wks.UsedRange
.Value = .Value
End With
Next wks
ActiveWorkbook.SaveAs sFile
Application.ScreenUpdating = True
End Sub
Hier wird die Datei im Verzeichnis Test als Text.xls gespeichert und die Formeln in den Tabellenblättern gelöscht. Vielleicht hilft dir das weiter.
Gruß
Peter
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
Hallo,
zum Teil 2 hatte ich etwas auf meiner Homepage:
Code:
Sub Formeln_löschen()
With UsedRange
.Value = .Value
End With
End Sub
Quelle:
http://ms-excel.eu/vba/vba-sonstiges/vba...alten.htmlWenn Du also alle vorhandenen Tabellenblätter, der Kopie, mit diesem Code durchlaufen läßt, sollten keine Formeln mehr hinterlegt sein.
Gruß
Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 24.04.2014
Hallo zusammen,
danke für die Infos. Ich habe einmal den Code von Marcus ausprobiert bekomme aber leider noch einen Fehler und zwar hier:
.Value = .Value
Laufzeitfehler 424 - Objekt erforderlich...
Woran könnte denn das liegen?
Danke und lg
Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Olli,
probier's mal mit dieser Zeile:
Code:
...
With ActiveSheet.UsedRange
...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
Hallo,
ich habe mich mal an dem Code versucht. So ungefähr könnte er ausschauen. Er ist wirklich nicht schön funktioniert aber bei mir.
Code:
Sub Formeln_löschen()
Dim i As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ThisWorkbook.SaveCopyAs Filename:="C:\Excel\Forumsarbeiten\KopieTest.xlsx"
Workbooks.Open Filename:="C:\Excel\Forumsarbeiten\KopieTest.xlsx"
Workbooks("KopieTest.xlsx").Worksheets(1).Activate
For i = 1 To Worksheets.Count
With Workbooks("KopieTest.xlsx").Worksheets(i).UsedRange
.Value = .Value
End With
Next
Workbooks("KopieTest.xlsx").Close
Application.DisplayAlerts = False
Application.ScreenUpdating = True
End Sub
Gruß
Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
Komisch ... jetzt wo ich die Datei noch einmal gestartet habe klappt das Speichern nicht mehr.Anwendungs- oder objektorientierter Fehler.
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 24.04.2014
Hallo zusammen,
habe nun dank eurer Hinweise und Unterstützung eine brauchbare Lösung zusammenbasteln können.
Vielen Dank und lg
Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit