Userform in Excel geöffnet lassen und weiterhin nutzen
Schritt-für-Schritt-Anleitung
Um eine Userform in Excel so zu öffnen, dass Du weiterhin Excel nutzen kannst, musst Du den Befehl vbModeless
verwenden. Hier ist, wie Du es machst:
-
Öffne den Visual Basic for Applications (VBA) Editor in Excel (drücke ALT + F11
).
-
Finde das Modul "DieseArbeitsmappe" in Deinem Projekt.
-
Füge den folgenden Code ein:
Private Sub Workbook_Open()
UserForm1.Show vbModeless
End Sub
-
Speichere Deine Änderungen und schließe den VBA-Editor.
-
Schließe die Arbeitsmappe und öffne sie erneut. Die Userform sollte jetzt geöffnet sein, während Du weiterhin mit Excel arbeiten kannst.
Häufige Fehler und Lösungen
-
Problem: Excel lässt sich nicht weiter nutzen, solange die Userform geöffnet ist.
- Lösung: Stelle sicher, dass Du
vbModeless
im Code verwendest, wie oben gezeigt.
-
Problem: Laufzeitfehler 424 (Objekt nicht gefunden).
- Lösung: Überprüfe, ob die Userform tatsächlich
UserForm1
heißt. Wenn Du einen anderen Namen gewählt hast, musst Du den Code entsprechend anpassen.
-
Problem: Userform wird auf jedem Tabellenblatt angezeigt.
- Lösung: Verwende den folgenden Code im spezifischen Blatt-Modul:
Private Sub Worksheet_Activate()
UserForm1.Show vbModeless
End Sub
Private Sub Worksheet_Deactivate()
UserForm1.Hide
End Sub
Alternative Methoden
Eine alternative Methode, um die Userform sichtbar zu machen, während Du Excel weiter nutzen kannst, ist die Verwendung eines allgemeinen Moduls:
-
Erstelle ein neues Modul (Rechtsklick auf "Module" > "Einfügen" > "Modul").
-
Füge den folgenden Code ein:
Sub UF1Zeigen()
UserForm1.Show vbModeless
End Sub
-
Du kannst diesen Sub jetzt manuell ausführen, wann immer Du die Userform benötigst.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie Du die Userform positionieren und Eigenschaften festlegen kannst:
-
Um die Größe und Position der Userform festzulegen, kannst Du den Code wie folgt erweitern:
Private Sub Workbook_Open()
UserForm1.Show vbModeless
UserForm1.Height = 150
UserForm1.Top = 300
UserForm1.Left = 250
End Sub
-
Für eine spezifische Position auf einem Arbeitsblatt kannst Du die Userform an die Position einer Zelle ausrichten (benötigt mehr Aufwand).
Tipps für Profis
- Experimentiere mit der Eigenschaft
StartupPosition
der Userform, um deren anfängliche Position festzulegen.
- Wenn Du die Userform nur auf bestimmten Blättern anzeigen möchtest, nutze die
Worksheet_Activate
- und Worksheet_Deactivate
-Ereignisse, um sie gezielt zu steuern.
- Nutze die Eigenschaften
.Top
und .Left
, um die Userform an spezifische Zellen oder Bereiche auszurichten, was jedoch etwas komplexer sein kann.
FAQ: Häufige Fragen
1. Wie kann ich die Userform so einstellen, dass sie immer an der gleichen Position erscheint?
Du kannst die Position im Code der Userform festlegen, indem Du die .Top
und .Left
Eigenschaften anpasst.
2. Kann ich die Userform nur bei bestimmten Bedingungen öffnen?
Ja, Du kannst Bedingungen in Deinem Code festlegen, um die Userform nur unter bestimmten Umständen zu zeigen.
3. Was mache ich, wenn die Userform nicht angezeigt wird?
Überprüfe, ob der Name der Userform korrekt ist und ob der Code im richtigen Modul steht. Stelle sicher, dass die Arbeitsmappe gespeichert und erneut geöffnet wurde.
4. Wie kann ich die Userform schließen, ohne Excel zu schließen?
Die Userform kann durch den Schließen-Button oder durch den Code UserForm1.Hide
geschlossen werden, ohne Excel zu schließen.