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.

[Excel 2016] Gedankenhilfe gesucht
#1
Moin!

Ich benötige ein wenig Unterstützung bei folgendem Problem:

Ich habe eine Userform mit diversen Multipages. In diesen Pages befinden sich sowohl Checkboxen, Textboxen sowie auch RadioButtons. Von diesen Pages sind aber nur gewisse Werte relevant für in einer Listbox gewählte Personenkreise. Der Rest wird ausgeblendet. Der User bekommt jedes Mal eine Messagebox mit einem Hinweis, wenn er ein für sein Personenkreis relevantes Steuerelement vergessen hat auszufüllen, anzuhaken etc.
Nun finde ich einfach keine vernünftige Lösung aus diesen ganzen verschiedenen benötigten Steuerelemten immer nur die abzufragen, die relevant sind. Hat da jemand eine Idee wie ich das gestalten kann ohne zig tausende if Abfragen?

Danke für die Hilfe!
Lieber Gruß!
Antworten Top
#2
Ja, habe ich.
Beispieldatei ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
Ja, Beispieldatei habe ich.  19


.xlsm   Beispiel.xlsm (Größe: 15,03 KB / Downloads: 6)
Lieber Gruß!
Antworten Top
#4
Code:
Private Sub UserForm_Initialize()
    ComboBox1.List = [row(1:3)]
End Sub

Private Sub ComboBox1_Change()
    For j = 0 To 3
        MultiPage1.Pages(j).Visible = InStr(Array("23", "01", "03")(ComboBox1 - 1), j)
    Next
End Sub

Verzichte auf msgboxes in Userforms.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#5
Vielen Dank schonmal für deine Hilfe!

Undecided Wie auf MsgBoxes verzichten? Wie weise ich den DAU dann daraufhin, dass er etwas vergessen hat? Der Button darf solange nicht ausgeführt werden, solange eine Angabe fehlt. Also doch 100 verschachtelte If Abfragen  22

Scheinbar habe ich mein Beispiel auch zu simpel gehalten, denn die Listbox enthält beliebig viele Strings (Je nachdem ob neue Personenkreise entstehen) und es wird aktuell 11 (im Entwicklungsverlauf evtl. noch mehr) Pages geben.

Schande über mein Haupt, für das schlampige Beispiel.  33
Lieber Gruß!
Antworten Top
#6
Besser als ein Msgbox ist ein Commandfbutton 'weiter' die nur sichtbar ist wenn alles notwendiges erledigt ist.
Ohne sichtbare CommandButton kann der User nicht weiter.

Mehr Einträge im ListBoxc ist kein Thema, wedre mehr Pages; die Vorgehensweise (Methode) bleibt ähnlich.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
An einer Stelle vertsehe ich nicht ganz was passiert:

Code:
InStr(Array("23", "01", "03")(ComboBox1 - 1)

Könntest du mir erklären, was genau da passiert? Bekomme es nicht hin das so umzuwandeln, dass Beispielsweise jemand die Pages 0,1,2,5,9,10,11 bekommt.
Lieber Gruß!
Antworten Top
#8
Code:
Private Sub ComboBox1_Change()
  For j = 0 To Multipage1.Pages.Count-1
    MultiPage1.Pages(j).Visible = InStr(Array("0123591011", "01", "03")(ComboBox1 - 1), j)
  Next
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
Ok, dann war ich ja doch richtig. Ich bekomme aber immer nur einen Laufzeitfehler: Index außerhalb des gültigen Bereichs.
Lieber Gruß!
Antworten Top
#10
Schient mir ziemlich logisch wenn es keine 12 pages im Multipage1 gibt.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


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