Formeln - Werte - Speichern ohne Makros!

Achtung - funktioniert nur in Excel 2007 bzw. 2010. Wenn man in Excel 2007/2010 eine XLSM-Datei mit Makros OHNE Makros speichern möchte, kann man diese Datei einfach als XLSX speichern und die Makros sind alle weg. Ein Button im Tabellenblatt (aus Formularsteuerelemente) löscht sich beim Klick durch "Application.Caller" von selber. Formeln werden durch die Werte ersetzt. Noch andere vorhandene Tabellenblätter werden gelöscht und die Datei dann mit "SaveAs" als XLSX gespeichert. Die Ursprungsdatei bleibt bestehen.

Formeln - Werte - Speichern ohne Makros...[ZIP, 50 KB]

Option Explicit
Const strFileName As String = "Dateiname"
Private Sub Test()
Dim wksSheet As Worksheet
Dim varPath As Variant
On Error GoTo Fin
Application.DisplayAlerts = False
varPath = Application.GetSaveAsFilename( _
InitialFileName:=ThisWorkbook.Path & "\" & strFileName, _
FileFilter:="Excel(*.xlsx), *.xlsx", _
Title:="Speichern ohne Makros")
If Not varPath = False Then
For Each wksSheet In ThisWorkbook.Worksheets
If wksSheet.Name <> ActiveSheet.Name Then
wksSheet.Delete
End If
Next wksSheet
With ActiveSheet
.Shapes(Application.Caller).Delete
.UsedRange.Value = .UsedRange.Value
End With
With ThisWorkbook
.SaveAs varPath, 51
.Close False
End With
End If
Fin:
Application.DisplayAlerts = True
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & " " & Err.Description
End Sub

Kommentare

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...