Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bei geöffneter Userform Excel weiter nutzen

Bei geöffneter Userform Excel weiter nutzen
08.04.2008 10:41:00
Hese
Guten Morgen zusammen,
ich habe folgendes Anliegen:
Ich habe in der Userform den folgenden Text hinterlegt:

Private Sub Workbook_open()
UserForm1.Show
End Sub


Das funktioniert auch alles wunderbar wenn ich die Datei öffne. Ich möchte aber, das ich die Userform weiterbenutzen kann und sichtbar bleibt und ich Excel auch ohne die Userform manuell schliessen zu müssen, weiter normal benutzen kann. Was fehlt meiner Userform noch ? :-)
Vielen Dank im voraus für eure Hilfe...
Gruss
Hese

Anzeige

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei geöffneter Userform Excel weiter nutzen
08.04.2008 10:45:00
Matthias
Hallo Hese,
so:

Private Sub Workbook_open()
UserForm1.Show vbModeless
End Sub


Gruß Matthias

AW: Bei geöffneter Userform Excel weiter nutzen
08.04.2008 10:57:00
Hese
Hallo Matthias,
erstmal Vielen Dank für die prompte Hilfe ! Doch leider funktioniert das nicht. Kann erst wieder Exel benutzen, wenn ich die Userform manuell mit dem X schliesse. Sprich, es ist alles so wie vorher. Oder habe ich was falsch gemacht ? :-(
Gruss
Hese

Anzeige
...das glaub ich nicht!
08.04.2008 11:11:00
Luschi
Hallo Hese,
vbModeless sorgt dafür, daß das Formular offen ist und der User in der Tabelle Veränderungen vornehmen kann - siehe Excel Vba-Hilfe.
Gruß von Luschi
aus klein-Paris

AW: ...das glaub ich nicht!
08.04.2008 11:23:00
Hese
Hallo Luschi,
klingt ja gut. ;-) Aber irgendwie klappt das bei mir nicht ! :-( Ich habe den Code so in die UserForm1 eingefügt, er macht aber das gleiche wie vorher. Habe den Code auch parallel in DieseArbeitsmappe eingefügt, da bringt er mir dann die Fehlermeldung 424 Objekt... Wie geschrieben, bin ich "Blutiger Anfänger" und kann auch leider nichts mit der VBA-Hilfe anfangen.
Gruss
Hese

Anzeige
AW: ...das glaub ich nicht!
08.04.2008 11:38:00
Uwe
Hi Hese,
der Code gehört auf keinen Fall in die Userform, die soll ja erst gezeigt werden. Er gehört so:

Private Sub Workbook_Open()
UserForm1.Show vbModeless
End Sub


in die Arbeitsmapp, wie Du schon richtig geschrieben hast. Wenn Du die dann schließt und wieder öffnest, sollte es klappen.
Oder schreib Dir in ein Allgemeines Modul:
Sub UF1Zeigen()
UserForm1.Show vbModeless
End Sub


und führ das dann aus.
Hilft Dir das weiter?
Gruß
Uwe
(:o)

Anzeige
AW: ...das glaub ich nicht!
08.04.2008 11:44:00
Hese
Hallo Uwe,
ja super ! Das funktioniert ! *freu* Vielen Dank auch die für deinen "Tipp". So habe ich mir das vorgestellt das es aussehen soll. Vielleicht könntest du mir auch sagen, wie ich die UserForm an die von mir gewünschte Position plazieren kann ?
Gruss
Hese

AW: ...das glaub ich nicht!
08.04.2008 12:14:00
Uwe
Hi,
das kanns Du entweder in den Eigenschaften der UF direkt einstellen (StartUpPositio = manuell), oder so im Code:

Private Sub Workbook_Open()
UserForm1.Show vbModeless
UserForm1.Height = 150
UserForm1.Top = 300
UserForm1.Left = 250
End Sub


Mit den Zahlen musst Du rumprobieren.
Gruß
Uwe
(:o)

Anzeige
AW: ...das glaub ich nicht!
08.04.2008 12:21:00
Hese
Hallo Uwe,
danke schön... Dann werde ich das mal "ausprobieren", wo ich die "hinsetzte" anhand deiner Erklärung. Jetzt ist mir nur noch aufgefallen, das ich die UserForm auf jedem Tabellenblatt sehe, wie kann ich denn festlegen, das diese nur auf der Tabelle5 erscheint ?
Gruss
Hese

Anzeige
AW: ...das glaub ich nicht!
08.04.2008 12:35:28
Uwe
Hi,
dann nimm den Code aus der Arbeitmappe wieder 'raus und fügen diesen hier in das Modul des Tabellenblattes ein:

Private Sub Worksheet_Activate()
UserForm1.Show vbModeless
UserForm1.Height = 150
UserForm1.Top = 300
UserForm1.Left = 250
End Sub



Private Sub Worksheet_Deactivate()
UserForm1.Hide
End Sub


Gruß
Uwe
(:o)

Anzeige
AW: ...das glaub ich nicht!
08.04.2008 13:39:01
Hese
Hallo Uwe,
danke schön. Das hat mir auf jeden Fall schon wieder mal weitergeholfen. Mir ist aber aufgefallen, das ich mich falsch ausgedrückt habe: Wollte wissen, wie man eine UserForm manuell plaziert, aber nicht anhand des Bildschirmes, sondern anhand der vorliegenden Tabelle. Sorry... ;-) Ist ja nicht dein Fehler !
Gruss
Hese

Anzeige
...durch Setzen ihrer dementsprechenden...
08.04.2008 12:17:00
Luc:-?
...Eigenschaften (glaube .Top und .Left o.ä.), Hese,
die aber hier auf den Bildschirm bezogen sind.
Gruß Luc :-?

AW: ...durch Setzen ihrer dementsprechenden...
08.04.2008 12:23:42
Hese
Hallo Luc,
achso... ;-) Ich danke dir dafür, dann werde ich das mal ausprobieren !
Gruss
Hese

Als wenn ich das geähnt hätte! Du willst...
08.04.2008 14:32:00
Luc:-?
...die UF am Blatt ausrichten, Hese!
Oh! Oh! Das hat Bill aber nicht so vorgesehen! Da musst du UF.Left & .Top mit .Left & .Top einer Referenzzelle oder eines Grafikobjekts des Blattes synchronisieren. Das ist nicht so ganz einfach, erfordert ziemlichen Aufwand, aber möglich. Außerdem ist das auch alles davon abhängig wie Excel individuell eingerichtet wurde. Und das könnte bei jedem Nutzer anders sein. Ich hatte deshalb mal eine manuelle Nachkorrektur für den UF-Standort vorgesehen, bei der die neuen Werte gemerkt wurden, so dass die UF beim nächsten Start genau an der gewünschten Stelle erschien.
Viel Spaß beim Knobeln!
Gruß Luc :-?

Anzeige
AW: Als wenn ich das geähnt hätte! Du willst...
10.04.2008 10:35:00
Hese
Guten Morgen Luc,
sorry, war die Tage unterwegs...
Achso ist das... Na dann werde ich mal mein Glück versuchen ! ;-) Aber vielen Dank für deinen "Tipp" !
Gruss
Hese

Viel Erfolg! Gruß owT
10.04.2008 13:52:00
Luc:-?
:-?

AW: ...das glaub ich nicht!
08.04.2008 11:46:00
Andi
Hi,
wie Uwe schon schreibt, gehört der Code-Schnipsel in DieseArbeitsmappe.
Der Laufzeitfehler 424 legt den Verdacht nahe, dass Dein UserForm evtl nicht UserForm1 heißt, sondern irgendwie anders...? (Evtl Tipfehler?)
Schönen Gruß,
Andi

Anzeige
AW: ...das glaub ich nicht!
08.04.2008 11:54:05
Hese
Hi Andi,
ja danke, das habe ich auch später gelesen. Jetzt funktioniert es auch so, wie ich es haben will ! Habe es ja dementsprechend geändert. Aber auch dir Vielen Dank für deinen "Tipp" ! :-)
Gruss
Hese
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (drücke ALT + F11).

  2. Finde das Modul "DieseArbeitsmappe" in Deinem Projekt.

  3. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       UserForm1.Show vbModeless
    End Sub
  4. Speichere Deine Änderungen und schließe den VBA-Editor.

  5. 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:

  1. Erstelle ein neues Modul (Rechtsklick auf "Module" > "Einfügen" > "Modul").

  2. Füge den folgenden Code ein:

    Sub UF1Zeigen()
       UserForm1.Show vbModeless
    End Sub
  3. 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.

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