Schleife über Comboboxen in UF

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Schleife über Comboboxen in UF
von: Jens_Pu
Geschrieben am: 23.11.2003 20:57:27

Hallo Excelfreunde,

in einer Userform habe ich die Combobox1 bis Combobox5.
Nun möchte ich eine Druckroutine aufrufen, für jede Combobox die nicht leer ist.

Wie geht denn das?

Gruss Jens

Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: PeterW
Geschrieben am: 23.11.2003 21:06:54

Hallo Jens,

mir ist nicht klar, was du genau drucken willst aber vielleicht hilft dir das weiter:

Private Sub CommandButton1_Click()
Dim i As Integer
  For i = 1 To 5
    If Me.Controls("Combobox" & i) <> "" Then
    'hier dein Druck
    End If
  Next
End Sub

Gruß
Peter


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: Jens_Pu
Geschrieben am: 23.11.2003 21:12:41

Hallo Peter,

vielen Dank, das geht prima.

Ich hab da dauernd an Do Loop oder Do While gedacht in bin nicht weitergekommen.
Manchmal ist einfach was blockiert.

Gruss Jens


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: Jens_Pu
Geschrieben am: 23.11.2003 21:27:35

Hallo Peter,

dein Ansatz war ausschlaggebend, jetzt habe ich es auch mit Do loop hinbekommen.
Bin ja hoffentlich noch lernfähig.
Das mit Do loop hat den Vorteil, dass abgebrochen wird, sobald eine Combobox leer ist.
Dann sollen auch nachfolgende nicht gedruckt werden.
Aber diese Notwendigkeit hatte ich anfangs ja nicht geschrieben.

So habe ich es jetzt gelöst, ist das o.K?

i = 1
Do
If Me.Controls("Combobox" & i) <> "" Then
Call Drucke_Man(1)
Else
Exit Do
End If
i = i + 1
Loop


Gruss Jens


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: Nepumuk
Geschrieben am: 23.11.2003 21:31:56

Hallo Jens,
so ginge es auch mit For - Next und ohne separaten Zähler

Option Explicit
Private Sub CommandButton1_Click()
    Dim i As Integer
    For i = 1 To 5
        If Me.Controls("Combobox" & i) <> "" Then
            'hier dein Druck
        Else
            Exit For
        End If
    Next
End Sub


Code eingefügt mit: Excel Code Jeanie

Gruß
Max


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: Jens_Pu
Geschrieben am: 23.11.2003 21:36:44

Hallo Nepumuk,

stimmt.
Und - sieht übersichtlicher aus.
Und - die Anzahl der Comboboxen ist ja bekannt.

Gruss Jens

PS: eMail bekommen?


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: PeterW
Geschrieben am: 23.11.2003 21:34:15

Hallo Jens,

(fast) jede funktionsfähige Lösung ist okay. :-)

Will das jetzt nicht nachbauen aber läuft deine Do-Loop nicht in einen Fehler, wenn alle Comboboxen - sagen wir mal 1 bis 5 gefüllt sind und dann eine 6. Combobox angesprochen wird? Eine Abbruchbedingung (Loop Until i > 5) könnte das abfangen.

Gruß
Peter


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: Jens_Pu
Geschrieben am: 23.11.2003 21:38:17

Hallo Peter,

stimmt auch.
Ich werde es aber jetzt doch mit For machen.
Siehe Antwort an Nepumuk.

Gruss Jens


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: K.Rola
Geschrieben am: 23.11.2003 23:26:36

Hallo,

was passiert, wenn z.B. die 2. und 4. Combobox <> "" sind, oder
kann das nicht vorkommen?

Gruß K.Rola


Bild


Betrifft: AW: Schleife über Comboboxen in UF
von: Jens_Pu
Geschrieben am: 24.11.2003 16:56:59

Hallo K.Rola,

gut mitgedacht...
Das ist aber schon o.k.
In dem Moment, wo eine Combobox in der Reihenfolge leer ist, sollen alle folgenden nicht ausgedruckt werden.

Gruss Jens


Bild

Beiträge aus den Excel-Beispielen zum Thema " Schleife über Comboboxen in UF"