Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

in UserForm1 Frame ausblenden

Forumthread: in UserForm1 Frame ausblenden

in UserForm1 Frame ausblenden
07.12.2004 22:24:07
Andreas
Hallo zusammen,
vorweg, ich beschäftige mich erst seit ca. 2 Wochen mit dem Visual Basic Editor. :-((( scheiß Programmiersprache...
Ich übe mich gerade im erstellen eines UserForm und bekomme es auch schon gebacken, dass ich aus dem XL-Sheet die Userform aufrufen kann.
Ich habe in der UserForm mehrere Optionsfelder, Labels und TextBox´n.
Nun mein Problem.
Beim Aufrufen der UserForm sollen einige Optionsfelder, Labels, TextBox´n noch nicht zusehen sein, sondern erst nachdem die erste Auswahl aus den Optionsfeldern (4 Stk.) gemacht worden sind.
...vermutlich ganz einfach (muß die "visible=false" setzen), aber das bekomme ich erst in abhängigkeit mit der Auswahl in den ersten optionsfeldern hin.
Vielen Dank für Eure Hilfe...
Gruß Andreas
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in UserForm1 Frame ausblenden
07.12.2004 22:47:05
Christoph
Hi Andreas,
Das geht in der Prozedur: "Private Sub UserForm_Initialize()"
Bsp:

Private Sub UserForm_Initialize()
Me.Label1.Visible = False
Me.Label2.Visible = False
'etc
End Sub
Private Sub OptionButton1_Click()
Me.Label1.Visible = True
'etc
End Sub

Gruß
Christoph
Anzeige
AW: in UserForm1 Frame ausblenden
07.12.2004 23:53:46
Andreas
Vielen Dank,
leider bin ich zu blöd, oder es funktioniert nicht ;-(((
Wenn ich aus dem XL-Sheet über den Optionsbutton UserForm starte, erscheint sofort die komplette UserForm....
... es soll aber nur der erste Frame erscheinen mit den 4 Optionsbuttons.
Erst wenn ich eine Auswahl treffe, soll je nach Auswahl...
1) der 2. Frame eingeblendet werden, der eine TextBox enthält.
2) der 3. Frame eingeblendet werden, der eine Label enthält.
3) der 4. Frame eingeblendet werden, der eine Optionsbutton enthält.
4) der 5. Frame eingeblendet werden, der eine Optionsbutton enthält.
was mach ich falsch? %&/&=(/=(%=
grrrrrrrrr....
Grüße Andreas
Anzeige
AW: in UserForm1 Frame ausblenden
Holger
Du mußt das machen was Christoph geschrieben hat. Im Initialisierungsbereich der Userform alle Label, Textboxen usw. auf False setzen die noch nicht zu sehen sein sollen.
Dan in der Ereignisprozedur z.B. der Textbox1 die nächste Textbox einblenden.
Holger
AW: in UserForm1 Frame ausblenden
08.12.2004 08:18:05
Andreas
Danke,
mein Fehler war, dass ich UserForm1 initialisiert habe...
aber es funktioniert immer noch nicht .....
hier mal das, was ich programmiert habe...

Private Sub UserForm1_Initialize()
Me.Frame2.Visible = False
Me.Frame3.Visible = False
Me.Frame4.Visible = False
Me.Frame5.Visible = False
Me.Label1.Visible = False
Me.Label2.Visible = False
Me.Label3.Visible = False
Me.Label4.Visible = False
Me.Label5.Visible = False
Me.Label6.Visible = False
Me.Label7.Visible = False
Me.Label8.Visible = False
Me.Label9.Visible = False
Me.Label10.Visible = False
Me.Label11.Visible = False
Me.Label12.Visible = False
Me.Label13.Visible = False
Me.TextBox1.Visible = False
Me.TextBox2.Visible = False
Me.TextBox3.Visible = False
Me.TextBox4.Visible = False
Me.OptionButton7.Visible = False
Me.OptionButton8.Visible = False
End Sub


Private Sub OptionButton1_Click()
Me.Frame2.Visible = True
Me.Frame2.BorderStyle = fmBorderStyleSingle
Me.Frame3.Visible = False
Me.Label7.Visible = True
Me.TextBox3 = True
Me.Label1.Visible = True
Me.Label2.Visible = True
Me.Label3.Visible = True
Me.Label4.Visible = True
Me.Label5.Visible = False
Me.TextBox1.Visible = False
Me.Label6.Visible = True
Me.ListBox1.Visible = False
Me.Label8.Visible = False
Me.TextBox2.Visible = False
Me.Label10.Visible = False
Me.Label11.Visible = False
Me.Label12.Visible = True
Me.Label13.Visible = False
Me.OptionButton7.Visible = True
Me.OptionButton7 = True
Me.Label9.Visible = False
Me.TextBox4.Visible = False
End Sub


Private Sub OptionButton2_Click()
Me.Frame2.Visible = True
Me.Frame2.BorderStyle = fmBorderStyleSingle
Me.Frame3.Visible = False
Me.Label7.Visible = True
Me.TextBox3 = True
Me.Label1.Visible = True
Me.Label2.Visible = True
Me.Label3.Visible = True
Me.Label4.Visible = False
Me.Label5.Visible = True
Me.TextBox1.Visible = True
Me.Label6.Visible = True
Me.ListBox1.Visible = False
Me.Label8.Visible = False
Me.TextBox2.Visible = False
Me.Label10.Visible = False
Me.Label11.Visible = False
Me.Label12.Visible = True
Me.Label13.Visible = False
Me.OptionButton7.Visible = True
Me.OptionButton7 = True
Me.Label9.Visible = False
Me.TextBox4.Visible = False
End Sub

wenn ich jetzt aus dem xl-sheet starte, werden alle labels, optionsbutton etc. eingeblendet.
wenn ich aus "UserForm1_Initialize()" -> "UserForm_Initialize()" mache, sehe ich wirklich nur meine optionsbuttons, kann die auch auswählen, die anderen optionsbutton, labels etc. werden aber dennoch nicht eingeblendet.
...sorry, aber wahrscheinlich bin ich doch zu doof ;-)))
gruß andreas
Anzeige
AW: in UserForm1 Frame ausblenden
Holger
Ja das ist Richtig mit UserForm_Initialize().
Bei der Userform kommt keine 1 dahinter ( und bei einer zweiten keine 2 )
Macht sich manchmal besser der Userform einen eindeutigen Namen zu geben und diesen dann zu Initialisieren. Ist die Userform umbenannt erscheint Sie auch in der Code-Auswahl.
OptionsButton_Click
ich nehme lieber eine CheckBox hier mal ein Beispiel.

Private Sub UserForm_Initialize()
TextBox1.Visible = False
End Sub


Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
TextBox1.Visible = True
Else
TextBox1.Visible = False
End If
End Sub

Probier mal Klick-Häckchen-TextBox eingeblendet , Klick-Häckchen-TextBox ausgeblendet, Klick....
usw. usw.
Probier mal. Wenn nicht gefällt noch mal melden.
Gruß Holger
Anzeige
AW: in UserForm1 Frame ausblenden
08.12.2004 14:37:33
Andreas
Danke, danke, danke....
jetzt hab ich´s .....
sorry, aber ich bin einfach nur doof / Brett vorm kopf etc...
Hab einen Frame vergessen auf visable = true zu setzen, aber in diesem frame waren die anderen Objekte und somit wurden die auch nicht angezeigt....
* Peinlich * rotwerd...
Trotzdem danke für Eure Ausdauer...
Grüße
bis zum nächsten Problem ;:-))))
Andreas
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

UserForm in Excel: Wie man Frames ausblendet und einblendet


Schritt-für-Schritt-Anleitung

Um in einer VBA UserForm bestimmte Frames auszublenden und sie basierend auf Benutzeraktionen einzublenden, folge diesen Schritten:

  1. Öffne den Visual Basic Editor:

    • Drücke ALT + F11 in Excel, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Erstelle eine UserForm:

    • Füge eine neue UserForm hinzu und platziere die gewünschten Steuerelemente, wie Labels, TextBoxen und Frames.
  3. Initialisiere die UserForm:

    • Im Code der UserForm schreibst du die Initialisierungsprozedur. Setze die Sichtbarkeit der Frames und Steuerelemente, die anfangs nicht sichtbar sein sollen, auf False.

    Beispiel:

    Private Sub UserForm_Initialize()
       Me.Frame2.Visible = False
       Me.Frame3.Visible = False
       ' Weitere Steuerelemente ausblenden
    End Sub
  4. Ereignisprozeduren erstellen:

    • Erstelle Prozeduren für die Optionsfelder oder andere Steuerelemente, um die Sichtbarkeit der Frames basierend auf den Benutzerauswahlen zu steuern.

    Beispiel:

    Private Sub OptionButton1_Click()
       Me.Frame2.Visible = True
    End Sub

Häufige Fehler und Lösungen

  • Problem: Alle Steuerelemente sind sichtbar, wenn die UserForm geladen wird.

    • Lösung: Stelle sicher, dass du die richtige Initialisierungsprozedur verwendest. Verwende UserForm_Initialize() ohne die Zahl am Ende.
  • Problem: Ein Frame wird nicht eingeblendet.

    • Lösung: Überprüfe, ob der Frame selbst sichtbar ist. Wenn der Frame nicht sichtbar ist, werden auch die darin enthaltenen Steuerelemente nicht angezeigt.

Alternative Methoden

Statt Frames kannst du auch andere Steuerelemente verwenden, wie z.B. TabStrip oder MultiPage, um verschiedene Seiten oder Abschnitte deiner UserForm zu erstellen. Diese Steuerelemente erlauben eine bessere Verwaltung der Sichtbarkeit und helfen, die Benutzeroberfläche aufgeräumt zu halten.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie man die Sichtbarkeit von Frames in einer UserForm steuert:

  1. UserForm mit drei Frames:
    • Frame1: Enthält die Optionsfelder.
    • Frame2: Wird eingeblendet, wenn OptionButton1 ausgewählt ist.
    • Frame3: Wird eingeblendet, wenn OptionButton2 ausgewählt ist.
Private Sub UserForm_Initialize()
    Me.Frame2.Visible = False
    Me.Frame3.Visible = False
End Sub

Private Sub OptionButton1_Click()
    Me.Frame2.Visible = True
    Me.Frame3.Visible = False
End Sub

Private Sub OptionButton2_Click()
    Me.Frame2.Visible = False
    Me.Frame3.Visible = True
End Sub

Tipps für Profis

  • Fehlerbehebung: Nutze die Debugging-Tools im VBA Editor, um Breakpoints zu setzen und den Zustand deiner Steuerelemente während der Ausführung zu überprüfen.
  • Benennung: Benenne deine Steuerelemente eindeutig, um Verwirrung zu vermeiden, insbesondere wenn du mehrere UserForms oder komplexe Strukturen hast.
  • Benutzerfreundlichkeit: Füge Hinweise oder Tooltips hinzu, um dem Benutzer zu helfen, die UserForm effektiv zu nutzen.

FAQ: Häufige Fragen

1. Frage Wie kann ich mehrere Steuerelemente gleichzeitig ein- oder ausblenden?

Antwort: Du kannst eine Schleife verwenden, um die Sichtbarkeit mehrerer Steuerelemente in deiner UserForm zu steuern.

2. Frage Kann ich die Sichtbarkeit von Steuerelementen basierend auf Bedingungen steuern?

Antwort: Ja, du kannst Bedingungen in deinen Ereignisprozeduren verwenden, um die Sichtbarkeit je nach Benutzerinteraktion zu ändern.

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