Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

UserForm Multipage Register ausblenden
#1
Huhu,

weiß jemand, ob es möglich ist in einer Userform mit mehreren Reitern bestimmte Reiter unsichtbar zu setzen?

In der Userfrom gibt es ein Feld in dem man eine Anzahl von 1-6 setzen kann. Und darauf basierend sollen im Anschluss die entsprechenden Reiter 1-6 eingeblendet werden.

Sprich wenn ich 4 angebe dann sollen 4 Eingabereiter erscheinen. Wenn ich 6 angebe sollen 6 Reiter erscheinen (sichtbar werden).

Vielen Dank schon mal.
Antworten Top
#2
In meiner Erinnerung ist das auf jeden Fall möglich, sogar relativ einfach. Man muss es einfach dynamisch aufziehen. Aber wie der genaue Code nochmals dafür war, weiß ich nicht mehr. Ist glaub auch schon 3 Jahre her, das ich das so gemacht habe.
[-] Folgende(r) 1 Nutzer sagt Danke an korinna83 für diesen Beitrag:
  • StrammerMax
Antworten Top
#3
Hier hat jemand nahezu die gleiche Problemstellung:

https://www.ms-office-forum.net/forum/sh...p?t=163034

Die Reiter müssen ja nicht dynamisch erstellt werden, sondern einfach nur nach Abprüfen einer Bedingung sichtbar gesetzt werden.
Antworten Top
#4
Code:
Private Sub ComboBox1_Change()
Dim i As Integer
On Error Resume Next

For i = ComboBox1.Value To 6
   Me.MultiPage1.Pages(i).Visible = False
Next i

For i = 1 To (ComboBox1 - 1)
   Me.MultiPage1.Pages(i).Visible = True
Next i
End Sub
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • StrammerMax
Antworten Top
#5
Es ging viel einfacher als gedacht.

Einfach einmal im initialize alle Register (über den Index) auf visible false gesetzt und dann jeweils in der click Methose des Buttons die gewünschten Felder auf True
Antworten Top
#6
(18.01.2019, 11:20)StrammerMax schrieb: Das ist der Button um die Anzahl der Optionen auf 1 zu setzen.
Wenn er geklickt wird soll nur die Page mit dem Index 4 erscheinen - sie soll vorher unsichtbar sein.

Was hat das jetzt mit Deiner Eröffnungsfrage zu tun? Undecided

Gruß Uwe
Antworten Top
#7
(18.01.2019, 11:27)Kuwer schrieb: Was hat das jetzt mit Deiner Eröffnungsfrage zu tun?  Undecided

Gruß Uwe

Meinst du, weil ich in der Frage von einem Feld gesprochen habe und jetzt von mehreren Buttons?
Ich wollte nur grundlegend klären, ob das möglich ist.

Manchmal sieht man den Wald vor lauter Bäumen nicht. In diesem Fall ging es viel einfacher als gedacht.
Antworten Top
#8
Hatte einen Denkfehler in meinem Code. Ersetze

Code:
For i = ComboBox1.Value To 6
durch
Code:
For i = ComboBox1.Value To 5
dann kannst du das On Error Resume Next rausnehmen.
Schöne Grüße
Berni
Antworten Top
#9
Danke nochmal MisterBurns.

Wisst ihr zufällig auch, ob man die Register einfärben kann? Am besten in RGB Farben.
(Jedes Register einzeln)

Über die Eigenschaften geht das leider nicht.

Es soll wohl über ein Objekt vom Typ Image gehen.


Und gleich noch eine Frage hinterher.
Dadurch, dass die neuen Register "on the fly" eingeblendet werden muss ich für die Register natürlich die Userform in X-Richtung größer machen.
Solange die Register ausgeblendet sind ist mein Fenster dann aber viel zu groß.
Kann man das Fenster dynamisch an die benötigte Größe anpassen?

Sprich - anfangs z.B. 20 cm breit und wenn ich dann ein Register mehr einblende soll das Ursprungsfenster immer um 3 cm größer werden?
Antworten Top
#10
Einfärben ist meines Wissens nicht möglich. Du könntest höchstens Bilder über die Tabs legen, die dann bei Aktivierung des Tabs sichtbar werden. Ob es den Aufwand wert ist, musst du wissen.

Das mit der Größe verstehe ich wiederum nicht. Durch das Ausblenden der einzelnen Tabs verändert sich doch nicht die Größe des Multipageobjekts.
Schöne Grüße
Berni
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste