Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
For Schleife mit If/Else im Userform
01.11.2012 19:45:30
Black-Mage
Hallo ihr lieben, ich habe folgendes Problem:
Ich habe ein Userform das durch klick auf eine Schaltfläsche ein 2tes Userform öffnet, in dem einige Werte eingetragen werden sollen.
Wenn ich nun im UF2 auf ok klicke Prüfe ich mit einer For schleife, ob alle Textboxen auch ausgefüllt wurden. Ist dies nicht der Fall gibt es eine msgbox die eben nochmal sagt das man alles auszufüllen hat. Sind alle Felder gefüllt, kommt eben keine msgbox.
Soweit so gut, mein problem ist nun, wenn ich im else segment sage das ich das uf2 schließen möchte me.hide bekomme ich den Fehler "das oberste gebundene Formular muss zuerst geschlossen...."
packe ich das me.hide am ende der forschleife, kommt dieser Fehler nicht, jedoch schließt sich das UF2 auch wenn eben nicht alle Textboxen befüllt sind.
Was mache ich denn Falsch?
  • 
    Private Sub Btn_OK_Click()
    Dim i As Integer
    For i = 1 To 5
    If Not StatsForm("Textbox" & i).TextLength  0 Then
    MsgBox "You have to enter ALL Stats, Temp and Pot!"
    Exit For
    Else
    'MainForm.Label19.Caption = "OK"
    'MainForm.Label19.ForeColor = &HC000&
    'MainForm.Label19.Font.Bold = True
    Me.Hide
    End If
    Next i
    End Sub
    

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

    Betreff
    Datum
    Anwender
    Anzeige
    AW: For Schleife mit If/Else im Userform
    01.11.2012 19:58:32
    Hajo_Zi
    kannn es sein das Du den Falschen Code gepostest hast ich finde kein Hide und auch nicht unload?
    Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
    Ein Link zur Datei wäre nicht schlecht.

    AW: For Schleife mit If/Else im Userform
    01.11.2012 20:10:01
    Black-Mage
    Das ist doch der Code für das 2te UF und unter dem 3x 'mainform... das ich auskommentiert habe, weil ich erst dachte, das könnte der Fehler sein, steht doch das me.hide.
    Also ist wie beschrieben in dem else segment das me.hide.

    AW: For Schleife mit If/Else im Userform
    01.11.2012 20:15:39
    Black-Mage
    um es vorweg zu nehmen, ich habe es auch mit statsform.hide versucht, also anstelle des me.hide
    und aufgerufen wird das 2te UF eben durch statsform.show

    Anzeige
    AW: For Schleife mit If/Else im Userform
    01.11.2012 20:29:39
    Hajo_Zi
    die Datei sehe ich immer noch nicht.
    
    Option Explicit
    Private Sub Btn_OK_Click()
    Dim i As Integer
    Dim BoVer As Boolean
    For i = 1 To 5
    If Not StatsForm("Textbox" & i).TextLength  0 Then
    MsgBox "You have to enter ALL Stats, Temp and Pot!"
    Exit For
    Else
    'MainForm.Label19.Caption = "OK"
    'MainForm.Label19.ForeColor = &HC000&
    'MainForm.Label19.Font.Bold = True
    BoVer = truer
    'Me.Hide
    Exit For
    End If
    Next i
    If BoVer Then Unload Me
    End Sub
    
    Gruß _ Hajo

    Anzeige
    AW: For Schleife mit If/Else im Userform
    01.11.2012 20:50:16
    Black-Mage
    es soll ja nicht am ende heißen ich hab das nicht selbst gemacht. und den Code irgendwoher.
    https://www.herber.de/bbs/user/82441.xls
    hier ist die Datei, bzw ein ausschnitt, meine ist knapp 1.3 mb
    ich habe dort die 2 Usrforms importiert.
    p.s. der code in der Datei, ist nicht nicht nach deiner Hilfe geändert.
    So ich habe deinen Code nun ausprobiert, aber abgeändert, habe es mit statsform.hide versucht das klappt auch. (verstecken). Ich wollte versuchen, ob es auch klappt ohne das 2te UF zu entladen, da eine weitere eingabe (korrektur) nicht bedeuten soll, das man alles nochmal ausfüllen soll.
    Alles klappt bis auf folgendes. Wenn ich das erste mal alle 20 Felder ausgefüllt habe, und beim erneuten öffnen, dann ein Feld leere (ausser das erste) dann fehlt irgendwie die Prüfung, ob alle gefüllt nicht oder nicht, er schließt einfach das UF2, obgleich er ja nun wieder sagen sollte. msgbox....
    p.p.s. in der for schleife habe ich 1 to 20 wie du sehen kannst sind es 20 felder (also nicht wundern) das ändert ja an dem code erstmal nix.

    Anzeige
    AW: For Schleife mit If/Else im Userform
    01.11.2012 21:38:14
    Black-Mage
    Habe es nun so hinbekommen, danke für die Hilfe.
  • 
    Private Sub Btn_OK_Click()
    Dim i As Integer
    Dim Fehler As Integer
    For i = 1 To 20
    If StatsForm("Textbox" & i).TextLength 

  • 300 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige