Registriert seit: 24.02.2017
Version(en): 365; (2013)
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.
Registriert seit: 04.01.2019
Version(en): 365
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.
Registriert seit: 24.02.2017
Version(en): 365; (2013)
18.01.2019, 12:04
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2019, 12:05 von StrammerMax.)
Hier hat jemand nahezu die gleiche Problemstellung:
https://www.ms-office-forum.net/forum/sh...p?t=163034Die Reiter müssen ja nicht dynamisch erstellt werden, sondern einfach nur nach Abprüfen einer Bedingung sichtbar gesetzt werden.
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
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
Registriert seit: 24.02.2017
Version(en): 365; (2013)
18.01.2019, 12:26
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2019, 12:30 von StrammerMax.)
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
(18.01.2019, 12: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?
Gruß Uwe
Registriert seit: 24.02.2017
Version(en): 365; (2013)
(18.01.2019, 12:27)Kuwer schrieb: Was hat das jetzt mit Deiner Eröffnungsfrage zu tun?
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.
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
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
Registriert seit: 24.02.2017
Version(en): 365; (2013)
18.01.2019, 13:01
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2019, 13:01 von StrammerMax.)
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?
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
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