web-dev-qa-db-ger.com

Das Schließen eines Benutzerformulars mit Unload Me funktioniert nicht

Ich muss ein Excel-Benutzerformular mit VBA schließen, wenn ein Benutzer auf eine Senden-Schaltfläche geklickt hat und Vorgänge ausgeführt wurden.

Wie kann ich ein Benutzerformular von sich aus schließen?

Ich habe dies versucht, aber es gibt einen Fehler 361 zurück.

Unload Me
23
Kian

Wie in der oberen Antwort angegeben, habe ich im Code hinter dem Schaltflächensteuerelement Folgendes verwendet.

Private Sub btnClose_Click()
    Unload Me
End Sub

Dabei wird nicht versucht, ein Steuerelement zu entladen, sondern das Benutzerformular, in dem sich das Schaltflächensteuerelement befindet, wird entladen. Das Schlüsselwort "Me" bezieht sich auf das Benutzerformularobjekt, auch wenn es von einem Steuerelement im Benutzerformular aufgerufen wird. Wenn bei dieser Technik Fehler auftreten, kann dies mehrere Gründe haben.

  1. Möglicherweise geben Sie den Code an der falschen Stelle ein (z. B. in einem separaten Modul).

  2. Möglicherweise verwenden Sie eine ältere Version von Office. Ich verwende Office 2013. Ich habe festgestellt, dass sich VBA im Laufe der Zeit ändert.

Aus meiner Erfahrung ist die Verwendung der DoCmd .... -Methode spezifischer für die Makrofunktionen in MS Access, wird jedoch in Excel VBA nicht häufig verwendet.

Unter normalen (Standard-) Bedingungen sollte der obige Code einwandfrei funktionieren.

25
user4059073

Ohne Ihren vollständigen Code zu sehen, ist es unmöglich, mit Sicherheit zu antworten. Der Fehler tritt normalerweise auf, wenn Sie versuchen, ein Steuerelement anstelle des Formulars zu entladen.

Stellen Sie sicher, dass Sie das "Ich" nicht in Klammern haben.

Auch wenn Sie den vollständigen Code für das Benutzerformular posten können, würde dies massiv helfen.

11
SWa

Unload Me funktioniert nur, wenn es von userform self aufgerufen wird. Wenn Sie ein Formular aus einem anderen Modulcode (oder Benutzerformular) schließen möchten, müssen Sie die Entladefunktion + Benutzerformular verwenden, um den Namen zu schließen.

Ich hoffe es hilft

4
Tomamais