Multiseiten in Userform müssen alle durchgeklickt werden bevor der "Erfassen"-Button aktiv wird

  • Excel

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Skorpion79.

    Multiseiten in Userform müssen alle durchgeklickt werden bevor der "Erfassen"-Button aktiv wird

    Hallo,

    meine Userform besteht aus 4 Multiseiten. Jetzt möchte ich das der Anwender der Userform alle Multiseiten durchklicken muss, bevor der Button, mit dem die Daten dann in die zugehörigen Tabellenblätter geschrieben werden aktiv wird. Vorher soll er inaktiv sein, damit der Mitarbeiter nicht vorher auf Erfassen klicken kann. Wie löst man dies am besten? Macht es sinn einen Weiter-und Zurück Button auf die multiseiten einzufügen? Oder ist es auch einfacher möglich?

    Merci vorab!
    Hallo,

    mit der Eigenschaft Enabled lässt sich ein Button ein-, oder ausschalten.

    Prüfe einfach alle Steuerelemente auf Inhalt oder Auswahl, wenn überall was drinsteht dann Button anschalten sonst Button abgeschaltet lassen.

    Weiter und Zurück Buttons auf das Multipage einzufügen kann man machen, aber Du hast ja auch die Registerreiter.
    Das Problem ist das nicht in jedem Steuerelement zB. Textfeld etwas drinstehen muss. Viele Felder sind optional, trotzdem sollte der Mitarbeiter die Register durchgehen müssen, damit er nicht in versuchung kommt früher auf den erfassen-button zu klicken.
    Dann solltest Du dich vom Multipage verabschieden und lieber Frames (Rahmen) benutzen.

    Mit folgender Vorgehensweise:
    1. 4 Frames auf die Form ziehen. Steuerelemente in die Frames packen. Kannst gleich die vom Multipage ausschneiden (Strg + x) und in die Frames einfügen (Strg + v).

    2. Auf jedem Frame Weiter und Zurück Buttons einfügen. Wenn auf Weiter geklickt wird dann nächster Frame sichtbar (Visible = True) und aktuell sichtbares Frame unsichtbar machen. Bei Klick auf Zurück das aktuelle Frame unsichtbar machen und vorhergehendes sichtbar machen. Und nicht vergessen beim Start der Form die Frames 2 bis 4 unsichtbar machen (Visible = False).

    3. Die Frames von der Location her übereinander legen. Also das 3. über das 4., 2. übers 3. und 1. übers 2.

    Wenn der Benutzer sich bis zum 4. Frame vorgearbeitet hat, dann Erfassen Butten anschalten. Dann wäre dein Ziel erreicht.

    Hoffe Du verstehst das alles.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Skorpion79“ ()

    Genau so sollte es funktionieren...dachte schon das es mit den multiseiten so nicht geht.

    also frames erstellen bekomm ich hin...bloß wie programmier ich die vor und zurück-button? bzw. das er mit beim 4ten frame den erfassen-button aktiv schaltet. Punkt 3 mit der location versteh ich nicht so ganz.
    hey,

    noch ne andere anregung bei der du deine mulitseiten behalten könntest.

    wenn du dir auf jeder multiseite z.b. unten rechts über eine checkbox bestätigen lässt das die seite gelesen wurde
    könntest du den butten auch hierüber aktivieren.

    hinter jede deiner 4 checkboxen dann die abfrage auf die checkboxen legen. z.b.

    If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True And CheckBox4.Value = True Then
    CommandButton1.Enabled = True
    Else
    CommandButton1.Enabled = False
    End If
    Folgende Ausgangslage: Wenn Du die Form ausführst siehst Du Frame1. Alle anderen Frames sind unsichtbar.
    Für den Button >>Weiter<< musst Du folgenden Anweisungen tippen:
    (Bei Klick auf die Taste)
    Frame1.Visible = False
    Frame2.Visible = True

    Die Ausgangslage hat sich jetzt geändert: Du siehst Frame2. Um wieder Frame1 anzuzeigen musst Du folgendes tun:
    (Bei Klick auf Button >>Zurück<<)
    Frame2.visible = False
    Frame1.Visible = True

    Derzeitige Lage: Du siehst wieder Frame1
    Für die Buttons >>Weiter<< und >>Zurück<< auf den anderen Frames verhält sich das analog. Dann brauchst Du nur noch die betreffenden Steuerelemente auf Inhalt prüfen, um Die Taste >>Erfassen<< freizuschalten.

    Ich werde Dir mal eine Beispieldatei erstellen und im Laufe des Abends hochladen. Mit Frame wechsel und Inhaltsprüfung.

    @AMI: Deine Idee mit den Checkboxen ist gut hat aber einen Haken. Ich brauch dann nur in alle Checkboxen ein Häkchen setzen (ohne irgendwelche Steuerelemente auszufüllen). Wenn ich dann auf Erfassen klicke lege ich nichts in die Tabelle ab. Das führt dann gern mal zu einem Laufzeitfehler.

    EDIT: So die Beispieldatei ist fertiggestellt und getestet. Sollten noch Fragen auftauen, dann einfach fragen.
    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Skorpion79“ () aus folgendem Grund: Beispieldatei angehängt