Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Die Updates sind abgeschlossen. Bitte meldet eventuelle Bugs und Auffälligkeiten im entsprechenden Forum.
Sollte das Loginfenster nicht sichtbar sein, ist es unten links. Entweder Ihr loggt Euch dort ein oder löscht den Browsercache und versucht es noch einmal.


xlsm als xlsx - nur Werte
#1
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
Antwortento top
#2
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
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) http://www.sprueche-zum-nachdenken.eu
Antwortento top
#3
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
Antwortento top
#4
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
Antwortento top
#5
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.html
Wenn Du also alle vorhandenen Tabellenblätter, der Kopie, mit diesem Code durchlaufen läßt, sollten keine Formeln mehr hinterlegt sein.

Gruß
Marcus
Antwortento top
#6
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
Antwortento top
#7
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-2016)
Antwortento top
#8
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
Antwortento top
#9
Komisch ... jetzt wo ich die Datei noch einmal gestartet habe klappt das Speichern nicht mehr.Anwendungs- oder objektorientierter Fehler.
Antwortento top
#10
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
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste