Makros nach dem automatischen Speichern in Excel entfernen
Schritt-für-Schritt-Anleitung
-
VBA-Code anpassen:
Um sicherzustellen, dass nach dem automatischen Speichern keine Makros mehr in der neuen Datei enthalten sind, kannst du die Datei als .xlsx
speichern, was keine Makros unterstützt. Hier ein Beispiel, wie du das umsetzen kannst:
Sub Speichern_unter()
Dim Datei As String
Dim Verzeichnis As String
Dim SaveDummy As Variant
Dim strName As String
If Sheets("Hochkant").Range("H5").Value = "" Then
MsgBox "Bitte Teilenummer eingegeben!"
ElseIf Sheets("Hochkant").Range("AQ6").Value = "" Then
MsgBox "Bitte mindestens ein Stichwort eingeben! (Stichwortfeld Nr.1)"
Else
Verzeichnis = "K:\Benutzer\Ordner\"
Datei = Left(Range("H5"), 5) & "_" & Mid(Range("H5"), 6, 4) & "_" & Right(Range("H5"), 1) & "_Inspectionreport_" & Range("X5") & ActiveSheet.Range("AQ6").Value & ".xlsx"
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
If SaveDummy <> False Then
ActiveWorkbook.SaveAs SaveDummy, FileFormat:=xlOpenXMLWorkbook ' Speichern ohne Makros
Application.Workbooks(Datei).Close True
End If
End If
End Sub
Function SpeichernUnter(VorgabeName As String) As Variant
SpeichernUnter = Application.GetSaveAsFilename(InitialFileName:=VorgabeName, Filefilter:="Excel Dateien (*.xlsx),*.xlsx*", _
FilterIndex:=1, Title:="Speichern unter...", ButtonText:="speichern")
End Function
-
Makros löschen:
Wenn die Datei als .xls
gespeichert werden soll, musst du die Makros manuell entfernen. Hierbei kannst du das Makro löschen
aus Excel verwenden.
Häufige Fehler und Lösungen
-
Fehler: Datei lässt sich nicht speichern:
Wenn du beim Speichern eine Fehlermeldung bekommst, überprüfe, ob der Pfad korrekt ist und ob du Schreibrechte für den Ordner hast.
-
Makros sind immer noch vorhanden:
Stelle sicher, dass du die Datei im .xlsx
Format speicherst, da dieses Format keine Makros unterstützt. Andernfalls musst du die Makros manuell aus der Datei entfernen.
Alternative Methoden
Eine alternative Methode, um Makros aus Excel zu entfernen, ist die Verwendung von KILL
für die Datei, nachdem du eine Kopie ohne Makros erstellt hast. Hier ein Beispiel:
' Datei speichern und anschließend alte Datei löschen
Sub SaveAndDeleteOld()
Dim oldFilePath As String
Dim newFilePath As String
oldFilePath = "K:\Benutzer\Ordner\alteDatei.xls"
newFilePath = "K:\Benutzer\Ordner\neueDatei.xlsx"
' Speichern ohne Makros
ActiveWorkbook.SaveCopyAs newFilePath
' Alte Datei löschen
Kill oldFilePath
End Sub
Praktische Beispiele
Um eine neue leere Datei zu erstellen und die benötigten Inhalte aus der Vorlagendatei zu kopieren, kannst du folgenden Code nutzen:
Sub NeueDateiErstellen()
Dim wbNeu As Workbook
Dim wbVorlage As Workbook
Set wbVorlage = ThisWorkbook
Set wbNeu = Workbooks.Add
' Inhalte kopieren
wbVorlage.Sheets("Daten").Copy Before:=wbNeu.Sheets(1)
' Neue Datei speichern
wbNeu.SaveAs "K:\Benutzer\Ordner\neueDatei.xlsx", FileFormat:=xlOpenXMLWorkbook
wbNeu.Close
End Sub
Tipps für Profis
-
Makros effizient entfernen: Um alle Makros in Excel zu löschen, kannst du die Funktion alle makros löschen excel
verwenden, um vor dem Speichern sicherzustellen, dass keine unerwünschten Makros verbleiben.
-
Sichere Vorlagen verwenden: Erstelle eine separate Vorlage, die keine Makros enthält, um immer eine saubere Basis zu haben.
FAQ: Häufige Fragen
1. Wie kann ich alle Makros in Excel löschen?
Um alle Makros zu löschen, gehe zu "Entwicklertools" > "Makros" und lösche die bestehenden Makros manuell.
2. Was passiert, wenn ich eine .xls
Datei speichere?
Eine .xls
Datei kann Makros enthalten. Wenn du sicherstellen möchtest, dass keine Makros vorhanden sind, speichere die Datei im .xlsx
Format.
3. Gibt es eine Möglichkeit, Makros automatisch zu entfernen?
Ja, du kannst ein VBA-Skript verwenden, das automatisch alle Makros entfernt, bevor du die Datei speicherst.