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

Modul löschen in VBA

Forumthread: Modul löschen in VBA

Modul löschen in VBA
21.10.2002 19:08:53
Holger Levetzow
Hallo Leute,

kann man, und wenn ja wie, ein Modul per VBA löschen? Geht das auch mit dem, in dem die Prozedur selber steht? Ich möchte nur den Code der Tabellenblätter erhalten, alle Module sollen weg.

Holger

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Modul löschen in VBA
21.10.2002 19:55:37
Herbert
Hallo Holger,
Ich habe das selber noch nicht probiert,
aber so soll es funktionieren:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim VBkomp As vbComponent
On Error Resume Next
For Each VBComp In ThisWorkbook.VBProjekt.VBComponents
If VBComp.Type = 1 Then _
ThisWorkbook.VBProjekt.VBComponents.Remove VBComp
Next VBComp
End Sub
     
gruß Herbert
Anzeige
Re: Modul löschen in VBA
21.10.2002 20:07:18
Holger Levetzow
Danke schonmal, ich werde es morgen testen.

Holger

Re: code löscht auch das modul in dem er steht
21.10.2002 22:04:49
josef
hallo holger,

der code löscht auch das modul im dem er steht

hier mein code:

Sub modul_1_loeschen()
Application.VBE.ActiveVBProject.VBComponents.Remove _
Application.VBE.ActiveVBProject.VBComponents("modul1")
End Sub

Anzeige
;
Anzeige

Infobox / Tutorial

Module in VBA löschen – So funktioniert's


Schritt-für-Schritt-Anleitung

Um ein Modul in Excel per VBA zu löschen, kannst du den folgenden Code verwenden. Dieser Code entfernt alle Module, außer den Code der Tabellenblätter:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim VBComp As VBComponent
    On Error Resume Next
    For Each VBComp In ThisWorkbook.VBProject.VBComponents
        If VBComp.Type = 1 Then ' 1 steht für Standardmodule
            ThisWorkbook.VBProject.VBComponents.Remove VBComp
        End If
    Next VBComp
End Sub

Um ein bestimmtes Modul zu löschen, kannst du den folgenden Code verwenden:

Sub modul_1_loeschen()
    Application.VBE.ActiveVBProject.VBComponents.Remove _
    Application.VBE.ActiveVBProject.VBComponents("modul1")
End Sub

Hierbei wird das Modul mit dem Namen „modul1“ entfernt. Achte darauf, dass der Name exakt übereinstimmt.


Häufige Fehler und Lösungen

  • Fehler: "Projekt nicht zugänglich"

    • Lösung: Stelle sicher, dass die VBA-Projekte für den Zugriff freigegeben sind. Gehe zu den Excel-Optionen und aktiviere „Entwickleroptionen“ und „Zugriff auf das VBA-Projekt vertrauen“.
  • Fehler: Modul wird nicht gefunden

    • Lösung: Überprüfe den Modulnamen auf Rechtschreibfehler. Der Name muss exakt sein.

Alternative Methoden

Eine weitere Möglichkeit, ein Modul zu löschen, besteht darin, dies manuell über die VBA-Umgebung zu tun:

  1. Öffne den VBA-Editor mit ALT + F11.
  2. Wähle das Modul in der Projektansicht aus.
  3. Klicke mit der rechten Maustaste und wähle „Löschen“ aus.

Diese Methode ist hilfreich, wenn du nur gelegentlich Module löschen musst und keine Automatisierung benötigst.


Praktische Beispiele

Hier sind einige Beispiele, wie du den Code nutzen kannst:

  1. Alle Module löschen, außer das aktuelle: Verwende den ersten Code aus der Schritt-für-Schritt-Anleitung, um alle Standardmodule in einem Workbook zu löschen.

  2. Ein bestimmtes Modul löschen: Wenn du nur ein Modul namens „modul1“ entfernen möchtest, nutze den spezifischen Lösch-Code.


Tipps für Profis

  • Sicherheitskopien erstellen: Bevor du Module löschst, erstelle immer eine Sicherungskopie deines Excel-Dokuments.
  • Automatisierung: Überlege, ob du die Löschfunktion in eine größere Automatisierung einbinden kannst, um den Prozess zu optimieren.
  • Code-Dokumentation: Halte deinen Code gut dokumentiert, damit du und andere Nutzer später nachvollziehen können, was dieser bewirken soll.

FAQ: Häufige Fragen

1. Kann ich ein Modul löschen, in dem der Lösch-Code steht?
Ja, der Code kann das Modul, in dem er steht, ebenfalls löschen. Achte jedoch darauf, dass du vor dem Löschen alle notwendigen Informationen gesichert hast.

2. Wie finde ich den Namen eines Moduls?
Im VBA-Editor kannst du im Projektbereich die Module auflisten und deren Namen ablesen. Achte auf die genaue Schreibweise, um Fehler zu vermeiden.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der Code sollte in den meisten aktuellen Excel-Versionen (2010 und später) funktionieren, solange die Makros aktiviert sind und die entsprechenden Berechtigungen gesetzt sind.

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