Excel 2003 - VBA - Userform löschen
Hallo zusammen,
ich lasser per VBA-Code eine Userform dynamisch während der Laufzeit des Programms erzeugen.
Nachdem das Programm abgelaufen ist, verschwindet die Userform allerdings nicht wieder, sondern sie bleibt im Projektexplorer und würde mit abgespeichert werden.
Jetzt meine Frage: Wie lösche ich die Userform zur Laufzeit wieder?
Erzeugt wird sie durch:
Set o_form = Thisworkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
Löschen mit
ThisWorkbook.VBProject.VBComponents.remove(o_form)
funktioniert leider nicht!
Vielen Dank für Eure Unterstützung
Antwort schreiben
Antwort 1 von Hajo_Zi vom 15.09.2021, 13:32 Options
Hallo Unbekannter,
vielleicht so?
Code Lösche
Du könntest zum Schluss folgendes tun:
Sub VBA_Delete()
Dim objVB As Object
Dim objModul As Object
Application.StatusBar = "VBE-Elemente werden gelöscht..."
For Each objVB In ActiveWorkbook.VBProject.VBComponents
Set objModul = objVB.Codemodule
Select Case objVB.Type
Case 1 To 3
ActiveWorkbook.VBProject.VBComponents.Remove objVB
Case 100
objVB.Codemodule.DeleteLines 1, objModul.CountOfLines
End Select
Next
End Sub
von Matthias
Gruß Hajo
Antwort 2 von pesi vom 15.09.2021, 13:43 Options
Danke für die schnelle Hilfe!
Funktioniert einwandfrei!