Hallo,
ich speichere aus einer XLSM-Mappe mit Rechnungs-Vorlagen einzelne Sheets als XLSX, also ohne Makros ab, weil die dann weiterverarbeitet werden sollen.
Welche Parameter muss ich hinter
SaveAs ausser Name angeben, damit keine Rückfrage kommt, ob ich zulasse dass die Datei ohne Makrios als XLSX gespeichert wird. Die Warnung beim evtl. Überschreiben soll aber bleiben.
Ich habe die unerklärliche Erscheinung, dass bei wirklich gleichem Makrocoding NeueRechnung_Speichern bei einer Mappe die Rückfrage kommt, bei einer anderen nicht. Für unbedarfte Anwender, die die Rechnungen weiterbearbeiten sollen, ist das wohl irritierend.
Haben Sie einen Rat für mich ?
Danke, Rudolf Nitze
Sehr geehrter Herr Nitze,
es tut mir leid, mit dem FileFormat-Parameter habe ich mich vertan.
Er muss jetzt „xlOpenXMLWorkbook“ lauten.
Im folgenden Programm werden alle auf die Excel-Oberfläche geklebten Objekte entfernt, neben Schaltflächen und sonstigen Steuerelementen auch grafische Elemente und Bilder.
Wenn dadurch bei Ihnen zuviel entfernt wird, dann lässt sich das auch ganz gezielt auf Ihre Schaltfläche beschränken. Dazu müsste ich wissen, ob die Schaltfläche vom Typ „Formular“ oder von Typ „Active-X“ ist.
Ggf. können Sie mir auch Ihre Arbeitsmappe (Daten verändert und anonymisiert) an meine E-Mail „dieter.klemke@web.de“ schicken.
Sub Speichern()
Dim blattName As String
Dim pfad As String
Dim sh As Shape
Dim wbBlatt As Workbook
Dim ws As Worksheet
pfad = ThisWorkbook.Path & „“
Set ws = ActiveSheet
blattName = ws.Name
ws.Copy
Set wbBlatt = ActiveWorkbook
For Each sh In wbBlatt.Worksheets(1).Shapes
sh.Delete
Next sh
wbBlatt.SaveAs Filename:=pfad & blattName & „.xlsx“, _
FileFormat:=xlOpenXMLWorkbook
wbBlatt.Close
End Sub
Mit freundlichen Grüßen
Dieter Klemke