Excel Datei komplett OHNE CODE und OHNE FORMELN, aber mit Formatierungen... speichern!!....

  • Excel

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von ul-piloten.

    @petaod
    ich habe versucht den Code im selben Kontext zu verwenden, allerdings erhalte ich folgende Fehlermeldung:

    Laufzeitfehler 1004 in der Codezeile:

    Quellcode

    1. ws.Copy After:=wb.Sheets(wb.Sheets.Count)


    Der komplette Code sieht momentan folgendermaßen aus:

    Quellcode

    1. Private Sub CommandButton2_Click()
    2. MsgBox "Die Arbeitsmappe wird nun im selben Verzeichnis ohne Code und Formeln mit Zeitstempel abgelegt"
    3. Dim wb As Workbook, ws As Worksheet, sh As Shape
    4. Set wb = Workbooks.Add(xlWBATWorksheet)
    5. wb.Sheets(1).Name = "deleteMe"
    6. For Each ws In ThisWorkbook.Worksheets
    7. ws.Copy After:=wb.Sheets(wb.Sheets.Count)
    8. Next
    9. For Each Link In wb.LinkSources(xlLinkTypeExcelLinks)
    10. wb.BreakLink Name:=Link, Type:=xlLinkTypeExcelLinks
    11. Next
    12. For Each ws In wb.Worksheets
    13. UsedRange.Formula = UsedRange.Value
    14. For Each sh In ws.Shapes
    15. sh.Delete
    16. Next
    17. Next
    18. Application.DisplayAlerts = False
    19. wb.Sheets("deleteMe").Delete
    20. wb.SaveAs Replace(ThisWorkbook.FullName, ".xlsb", "_" & Format(Date, "yyyymmdd") & ".xlsx"), xlOpenXMLWorkbook
    21. Application.DisplayAlerts = True
    22. wb.Close False
    23. End Sub


    Wäre super wenn du mir ebenfalls helfen könntest. :)

    Ganz liebe Grüße
    Pascal
    Ich kann an der Stelle keinen Fehler erkennen.
    Schau dir mal im Debugger die einzelnen Objekte an, ob da eines nicht passt.

    Das einzige, was mir auffällt, dass du in der Zeile danach eine nicht definierte Variable Link verwendest.
    Du solltest mit Option Explicit arbeiten, dann meckert der Compiler solche Sachen an.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hallo liebe Spezialisten,

    der Code funktioniert soweit Prima.
    Ich möchte allerdings das nur die Formeln in den Spalten A:V durch Werte ersetzt werden.
    Wäre super wenn mir jemand den Code anpassen könnte.

    1.000 Dank für Eure Hilfe
    Gruß, Micha

    Quellcode

    1. Sub SaveWorkbookCopy()
    2. Dim wb As Workbook, ws As Worksheet, sh As Shape
    3. Set wb = Workbooks.Add(xlWBATWorksheet)
    4. wb.Sheets(1).Name = "deleteMe"
    5. For Each ws In ThisWorkbook.Worksheets
    6. ws.Copy After:=wb.Sheets(wb.Sheets.Count)
    7. Next
    8. For Each Link In wb.LinkSources(xlLinkTypeExcelLinks)
    9. wb.BreakLink Name:=Link, Type:=xlLinkTypeExcelLinks
    10. Next
    11. For Each ws In wb.Worksheets
    12. ws.UsedRange.Formula = ws.UsedRange.Value
    13. For Each sh In ws.Shapes
    14. sh.Delete
    15. Next
    16. Next
    17. Application.DisplayAlerts = False
    18. wb.Sheets("deleteMe").Delete
    19. wb.SaveAs Replace(ThisWorkbook.FullName, ".xlsm", "_" & "_KM " & ".xlsx"), xlOpenXMLWorkbook
    20. Application.DisplayAlerts = True
    21. 'wb.Close False
    22. End Sub