entschuldige, mir kam leider was dazwischen und mit den Teilen aus der Formularleiste komme ich nicht klar. :20: Da bringe ich es nicht fertig einen funktionierenden Code zu schreiben. :22:
Zu deinen Code habe ich zwei Anmerkungen
Code:
With ActiveSheet .Shapes(Application.Caller).Delete .UsedRange.Value = .UsedRange.Value End With With ThisWorkbook .SaveAs varPath, 51 .Close False
Mit .Shapes(Application.Caller).Delete löschst Du den Button, wo eigentlich diesen Code aufruft. Das halte ich nicht für gut. Darum habe ich ja die Zeitverzögerung bei meinen Code eingebaut.
Mit With ThisWorkbook.Close schließt Du die Datei, in der der Code steht. Versuche es mal mit ActiveWorkbook.Close
29.05.2015, 21:53 (Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2015, 09:36 von Rabe.
Bearbeitungsgrund: Zitat gekürzt, es reicht, die relevanten Teile zu zitieren!
)
(29.05.2015, 21:12)Steffl schrieb: Mit .Shapes(Application.Caller).Delete löschst Du den Button, wo eigentlich diesen Code aufruft. Das halte ich nicht für gut. Darum habe ich ja die Zeitverzögerung bei meinen Code eingebaut. Mit With ThisWorkbook.Close schließt Du die Datei, in der der Code steht. Versuche es mal mit ActiveWorkbook.Close
danke Steffl !
hab es mit ActiveWorkbook probiert :
Code:
With ActiveSheet .Shapes(Application.Caller).Delete .UsedRange.Value = .UsedRange.Value End With With ActiveWorkbook .SaveAs varPath, 51 .Close False
hat sich nix geändert,selbe wie bei ThisWorkbook code, dokument wird nach abspeichern geschlossen und excel startet neu ohne inhalt. Die neu gespeicherte Dokument ist genau so wich ich es haben will, ohne makro und button und die restlichen tabellen. In der Orginal Dokument sollen ja die Buttons und Makros erhalten bleiben nur nicht in der abgespeicherten. was jetzt noch stört ist das beim abspeichern das dokument geschlossen wird.
ich habe zwei Codes eingestellt, die bei mir ohne Probleme funktionieren. Warum probierst Du die nicht mal aus????
die funktionieren bei mir nicht, bekomme Laufzeitfehler 1004 diese erweiterung kann nicht mit dem ausgewählten Dateitype verwendet werden... wie hast du es getestet, mit der hochgeladene datei ?
habe mal meinen Code auf die Teile aus der Formularleiste geändert.
hallo Steffl,
warum wird das offene dokument geschlossen und in das gespeicherte gewechselt ? wiso kann ich nicht auswählen wohin ich es gespeichert haben möchte,er speichert es unter der selben name ab. wenn diese zwei sachen gelöst werden können bin ich glücklich..
so geht´s auch in Deiner Datei. Die Function kannst Du löschen!
Code:
Sub Speichern01()
Dim Verzeichnis As String Dim SaveDummy As Variant Dim strDatei As String Dim Save_Dateiname As String Dim loLastRow As Long Dim logefneu As Double loLastRow = Cells(Rows.Count, 1).End(xlUp).Row logefneu = WorksheetFunction.CountA(Range(Cells(1, 1), Cells(loLastRow, 21))) If logefneu <> loGef Then strDatei = ThisWorkbook.Path & "\Test_Makros.xlsm" Application.DisplayAlerts = False Application.ScreenUpdating = False ThisWorkbook.Save SaveDummy = InputBox("Speicherort angeben:", Speicherort) Save_Dateiname = InputBox("Dateinamen ohne Endung angeben", Dateiname) SaveDummy = SaveDummy & "\" & Save_Dateiname If SaveDummy <> "" Then ThisWorkbook.SaveAs Filename:=SaveDummy & ".xlsx", FileFormat:=xlOpenXMLWorkbook 'ThisWorkbook.SaveAs Filename:="X:\Excel Dateien\Test_Makros_3.xlsx", FileFormat:=xlOpenXMLWorkbook, ConflictResolution:=xlLocalSessionChanges End If Workbooks.Open strDatei ThisWorkbook.Close savechanges = True
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
30.05.2015, 15:35 (Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2015, 09:37 von Rabe.
Bearbeitungsgrund: Zitat gekürzt, es reicht, die relevanten Teile zu zitieren!
)
(30.05.2015, 14:50)BoskoBiati schrieb: so geht´s auch in Deiner Datei. Die Function kannst Du löschen!
Leider funktioniert der Code nicht,hast du noch paar Codezeilen vergessen ?