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

Userform automatisch schliessen

Forumthread: Userform automatisch schliessen

Userform automatisch schliessen
14.02.2005 08:51:37
Markus
Hallo zusammen,
ich möchte per VBA einen Excelmappe öffenen bei der automatisch beim öffnen eine Userform geöffnet wird. Gibt es eine Möglichkeit das automatische öffnen per VBA zu unterdrücken bzw. einen Befehl, der die Userform schließt?
Einfach den Autostartcode rausnehmen kann ich nicht, weil andere Personen mit der Userform arbeiten.
Auch der befehl unload userform1 klappt irgendwie nicht oder ich verwende ihn nicht richtig.
Danke für die Hilfe
Markus
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform automatisch schliessen
14.02.2005 09:02:39
simon
hallo,
einfach den code in Diese Arbeitsmappe
und schon wird die UF automatisch geöffnet

Private Sub Workbook_Open()
Load UserForm1
UserForm1.Show
End Sub

mit dem Code wird die UF wieder geschlossen

Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub

Anzeige
AW: Userform automatisch schliessen
14.02.2005 09:14:15
Markus
Hallo Simon,
das automatische öffnen ist kein Problem, dass macht der code ja schon. Ich habe mich vielleicht etwas ungenau ausgedrückt. Ich öffne aus einer anderen Excelmappe (meine Mappe) heraus die besagte Arbeitsmappe (fremde mappe).
in der "fremden Mappe" öffnet sich automatisch die userform1 beim starten, was auch so bleiben soll, da mit dieser Mappe andere Benutzer arbeiten. Wenn ich die "fremde Mappe" aber aus "meiner Mappe" heraus öffne, dann stört mich dieser autostart. Ich suche nach einer möglichkeit die geöffnete userform1 aus der "fremden mappe" per vba zu schließen.
-wow das ist ja einer halber roman.... ;o)
Danke
Anzeige
AW: Userform automatisch schliessen
Heiko
Moin Markus,
wenn ihr mit mehreren Leuten an der gleichen Tabelle arbeitet, hier noch ein kleiner Tip wie du nur dann das Userform schließen kannst wenn du die Tabelle öffnest.
If Environ("Username") = "Dein Username" Then Unload Userform1
Mit dieser Zeile im Workbook_Open Ereignis wird das Userform nur geschlossen wenn du die Tabelle mit deinem Usernamen öffnest, sonst nicht.
Ach ja, wenn in dem Autostart Ereignis der Befehl Userform1.show steht dann mußt du den Code natürlich danach einfügen.
Oder noch einfacher den userform1.show befehl so erweitern.
If Environ("Username") "Dein Username" Then Userform1.show
Damit wird das userform nur geöffnet wenn du nicht der bist der die Tabelle gerade benutzt.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Userform automatisch schliessen
14.02.2005 11:17:01
Markus
Hallo Heiko,
hört sich genau nach dem an was ich suche, nur klappt es nicht. Es ist allerdings auch möglich, dass es an den Netzwerkeinstellungen bei mir liegt. Also ich habe beide Vorschläge ausprobiert. Beim ersten lädt er die Userform aber schließt sie nicht wieder und beim zweiten vorschlag bleibt die userform generell aus...
Trotzdem danke!
Markus
Anzeige
AW: Userform automatisch schliessen
Heiko
Hallo Markus,
hier ein kleines Beispiel um deinen Username anzeigen zu lassen, das was da steht muß dann anstelle von Dein Username !!!
https://www.herber.de/bbs/user/18024.xls
Und das die Beispiele aus meinem 1. Thread in die Mappe müssen auf die ihr alle zugreift ist ja klar.
Gruß Heiko
Anzeige
AW: Userform automatisch schliessen
14.02.2005 11:40:43
Markus
Hallo Heiko,
habe Dein Beispiel ausprobiert und festgestellt, dass ich den richtigen Usernamen verwendet habe. Also daran kann es nicht liegen. Ich habe auch den Code in die richtige Mappe getan...also auch hier fehlanzeige.
Könnte es sein, dass es dran liegt, dass die Excelmappe in einem bestimmte Pfad auf dem Server liegt und nicht bei mir auf dem Rechner?
keine Ahnung warum das nicht funktioniert!
Markus
Anzeige
AW: Userform automatisch schliessen
Heiko
Hallo Markus,
dürfte meiner Meinung nach nicht am Pfad liegen. Wenn möglich, stell doch mal den Code aus dem Workbook open Ereignis hier ein.
Gruß Heiko
klappt doch!!!
14.02.2005 11:46:13
Markus
Hallo Heiko,
Kommando zurück, klar klappt Dein Code, wenn ich Tippfehler reinbaue, dann ist es klar, dass es nicht läuft!!!!
Vielen Dank!
Markus
Anzeige
;
Anzeige

Infobox / Tutorial

Userform in Excel automatisch schließen


Schritt-für-Schritt-Anleitung

Um eine Userform in Excel automatisch zu schließen, wenn du eine Arbeitsmappe öffnest, kannst du den folgenden VBA-Code verwenden. Dieser Code sollte in das Workbook_Open-Ereignis eingefügt werden:

Private Sub Workbook_Open()
    If Environ("Username") = "Dein Username" Then
        Unload UserForm1
    Else
        Load UserForm1
        UserForm1.Show
    End If
End Sub

Ersetze "Dein Username" mit deinem tatsächlichen Benutzernamen. Dieser Code sorgt dafür, dass die Userform nur dann geschlossen wird, wenn du die Arbeitsmappe öffnest.


Häufige Fehler und Lösungen

Fehler 1: Userform wird nicht geschlossen

  • Stelle sicher, dass der Benutzername korrekt eingegeben ist. Ein Tippfehler kann dazu führen, dass der Code nicht funktioniert.

Fehler 2: Userform bleibt immer offen

  • Überprüfe, ob der Code im richtigen Arbeitsblatt (Diese Arbeitsmappe) eingegeben wurde. Der Code muss dort platziert werden, damit er beim Öffnen der Datei ausgeführt wird.

Alternative Methoden

Wenn die oben genannte Methode nicht funktioniert, kannst du auch versuchen, den UserForm1.Hide-Befehl zu verwenden. Hier ein Beispiel:

Private Sub CommandButton1_Click()
    UserForm1.Hide
End Sub

Dieser Code verbirgt die Userform, anstatt sie zu schließen. Dies könnte in Situationen nützlich sein, in denen du die Userform später wieder benötigen möchtest.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du die Userform nur für bestimmte Benutzer anzeigen kannst:

Private Sub Workbook_Open()
    If Environ("Username") <> "Dein Username" Then
        Load UserForm1
        UserForm1.Show
    End If
End Sub

Dieser Code lädt die Userform nur, wenn der Benutzer nicht der ist, der die Datei geöffnet hat. Dies ist besonders nützlich, wenn mehrere Benutzer mit der gleichen Excel-Datei arbeiten.


Tipps für Profis

  • Debugging: Wenn der Code nicht funktioniert, kannst du die Debug.Print-Anweisung verwenden, um herauszufinden, welchen Benutzernamen Excel erkennt. So kannst du sicherstellen, dass der Code korrekt funktioniert.

  • Sicherheitsoptionen: Überprüfe die Makrosicherheitseinstellungen in Excel, da diese verhindern können, dass dein VBA-Code ausgeführt wird.


FAQ: Häufige Fragen

1. Wie kann ich feststellen, ob mein VBA-Code funktioniert? Du kannst den VBA-Editor öffnen und dazu F8 drücken, um den Code Schritt für Schritt auszuführen und zu sehen, wo es möglicherweise hakt.

2. Was, wenn die Userform immer noch nicht schließt? Prüfe, ob möglicherweise andere VBA-Codes oder Ereignisse in der Arbeitsmappe die Ausführung deines Codes beeinflussen. Es könnte auch an den Netzwerkeinstellungen liegen, wenn die Datei von einem Server geöffnet wird.

3. Funktioniert das auch in Excel 365? Ja, der VBA-Code ist in allen aktuellen Excel-Versionen, einschließlich Excel 365, anwendbar. Achte darauf, dass du die richtige Version des Codes verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige