Herbers Excel-Forum - das Archiv

Makros automatisch löschen

Bild

Betrifft: Makros automatisch löschen
von: steve

Geschrieben am: 06.04.2005 16:19:40
Hallo,
ich erstelle mit diesem Makro eine neue Datei mit dem aktiven Tabellenblatt und 3 festen Blättern und speicher diese automatisch.
Sub Blattspeichern()
Dim NewDateiname2 As String
Dim NewPfad2 As String
Dim wbkNeu As Workbook
Dim strActSheet As String
Dim i As Integer
strActSheet = ActiveSheet.Name
With Sheets("Verknüpfungen")
NewDateiname2 = .Range("A23")
NewPfad2 = .Range("A22")
End With
prtcmd2 = NewPfad2 & NewDateiname2
ThisWorkbook.SaveCopyAs Filename:=prtcmd2 & ".xls"
Set wbkNeu = Workbooks.Open(Filename:=prtcmd2 & ".xls")
With wbkNeu
For i = .Sheets.Count To 1 Step -1
Select Case .Sheets(i).Name
Case strActSheet, "Formeln", "Verknüpfungen", "Importdateien"
'nix passiert
Case Else
Application.DisplayAlerts = False
Sheets(i).Delete
Application.DisplayAlerts = True
End Select
Next i
.Close True
End With
MsgBox "Datei " & prtcmd2 & " erstellt!"
Exit Sub
wie kann ich jetzt noch definieren, dass in der neuen Datei automatisch alle Makros gelöscht werden?
MfG
Steve
Bild

Betrifft: AW: Makros automatisch löschen
von: tombo

Geschrieben am: 06.04.2005 16:48:20
Hi,
das löscht alle VB-Komponeneten:

Sub AlleVBEKomponentenEntfernen()
Dim VBkomp As VBComponent
On Error Resume Next
For Each VBkomp In DEINENEUDATEI.VBProject.VBComponents
Worbooks(DEINENEUDATEI).VBProject.VBComponents.Remove VBkomp
Next VBkomp
End Sub

"DEINENEUDATEI" muß natürlich angepasst werden.
Gruß tombo
 Bild
Excel-Beispiele zum Thema "Makros automatisch löschen"
Start des Makros nach Laden der Arbeitsmappe Makros in Abhängigkeit vom Zellennamen aufrufen
Makros zeitgesteuert aufrufen CommandBar in Abhängigkeit vorhandener Makros erstellen
Makrostart bei Auswahl einer Zelle in Zeile 3 Makros aus einem Standardmodul in ComboBox einlesen
Automatische Datumformatierung unterdrücken Automatisch Sicherungsdatei erstellen
Automatisches Komplettieren einer Zelleingabe Zelleingaben automatisch auf volle 1,2-Teile runden