Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makros per VBA deaktivieren

Forumthread: Makros per VBA deaktivieren

Makros per VBA deaktivieren
28.09.2004 11:05:21
Ueli
Hi
Ich habe eine Excelvorlage (Auswertung.xlt), welche verschiedene Makros enthält. Mit Doppelklick auf die Vorlage werden mit "Private Sub Workbook_Open()" die Makros gestartet
Das neue Dokument wir unter Auswertung_"LaufenderMonat".xls gespeichert. In diesem Dokument sollen aber die Makros automatisch deaktiviert oder gelöscht sein.
Besten Dank für Tipps!
Ueli
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros per VBA deaktivieren
28.09.2004 11:34:13
Marcl
Hallo Ueli,
in der Hilfe steht foögendes, um aktives Modul zu löschen:

Sub ModulLoeschen()
With Application.VBE.ActiveVBProject
.vbComponents.Remove .vbComponents("DeinModulname")
End With
End Sub

Gruß
Marcl
AW: Makros per VBA deaktivieren
28.09.2004 13:20:49
Ueli
Hi Marcl
Besten Dank für die Antwort!
Ein Problem besteht jetzt noch: Das Workbook_Open() ist ein MS Excel Objekt und liegt auf der Arbeitsmappe und nicht in einem Modul. Wie lösche ich dies?
Gruss
Ueli
Anzeige
AW: Makros per VBA deaktivieren
28.09.2004 14:11:02
Marcl
Dann kann ich Dir leider auch nicht weiter helfen.
AW: Makros per VBA deaktivieren
01.10.2004 13:08:58
thommy1966
Hallo,
ich habe dazu bei Spotligt von GraFi folgenden Code gefunden:
' Code in das erste Tabellenblatt (nach "DieseArbeitsmappe"), da der Löschvorgang
' in der Richtung "letzten Tabelle" zur "ersten Tabelle verläuft". Zuerst "Module",
' dann "Userformen" und zuletzt "Ereignisprozeturen (Code in einem Tabellenblatt) löschen"
'Diese Prozedur zum Löschen aufrufen

Sub Alles_löschen()
Call Lösche_Module
Call Lösche_Userformen
Call Lösche_Ereignisprozeduren
End Sub


Sub Lösche_Module()
'Löscht Module:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 1 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject.vbComponents(n)
End If
Next
End Sub


Sub Lösche_Userformen()
'Löscht Userforms:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 3 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject.vbComponents(n)
End If
Next
End Sub


Sub Lösche_Ereignisprozeduren()
'Löscht Ereignisprozeduren:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
For i = 1 To ThisWorkbook.VBProject.vbComponents(n).CodeModule.CountOfLines
If ThisWorkbook.VBProject.vbComponents(n).Type <> 1 And ThisWorkbook.VBProject.vbComponents(n).Type <> 3 Then _
ThisWorkbook.VBProject.vbComponents(n).CodeModule.DeleteLines 1
Next
Next
End Sub

siehe:http://spotlight.de/nzforen/mse/m/mse-1096392200-7311.html
Bei mir hats funktioniert.
gruß thommy1966
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige