ich hab ein kleines Problem das ich bis jetzt leider nicht lösen konnte.
Eventuell kennt einer von euch ja eine Möglichkeit.
Ich habe eine Userform, welche 20 "Zeilen" a 6 Textboxen enthaelt (Textbox1 bis Textbox 120).
In der Userform Initialisierung habe ich zweite bis zwanzigste "Zeile" versteckt.
Erst wenn eine "Zeile" vollstaendig ausgefuellt ist wird die naechste "Zeile" sichtbar.
Im Augenblick muss ich das fuer jede Zeile einzeln schreiben.
Meine Frage waere, ob dies per Schleife möglich ist.
Bis jetzt habe ich es mit der "Textbox_Change" Methode, wie folgt realisiert.
Textbox1 und 2 sind statisch, sobald etwas in 3 und 4 eingetragen wird, wird der Inhalt von 5 und 6 daraus berechnet.
Sobald in 5 und 6 etwas (Zahl) drinsteht, wird die naechste Zeile mit 6 Textboxen eingeblendet.
Der Sinn der ganzen Sache ist, das die Userform nicht so ueberladen und unuebersichtlich aussieht.
Vielen Dank voraus.
Gruß
Yusuf
'Zeile 1
Private Sub TextBox3_Change()
If IsNumeric(TextBox3) Then
TextBox5 = TextBox3 * TextBox2
Else
TextBox5 = ""
End If
End Sub
Private Sub TextBox4_Change()
If IsNumeric(TextBox4) Then
TextBox6 = TextBox4 * TextBox2
Else
TextBox6 = ""
End If
End Sub
Private Sub TextBox5_Change()
If IsNumeric(TextBox6.Value) Then
TextBox7.Visible = True
TextBox8.Visible = True
TextBox9.Visible = True
TextBox10.Visible = True
TextBox11.Visible = True
TextBox12.Visible = True
Label21.Visible = True
Else
TextBox7.Visible = False
TextBox8.Visible = False
TextBox9.Visible = False
TextBox10.Visible = False
TextBox11.Visible = False
TextBox12.Visible = False
Label21.Visible = False
End If
End Sub
Private Sub TextBox6_Change()
If IsNumeric(TextBox5.Value) Then
TextBox7.Visible = True
TextBox8.Visible = True
TextBox9.Visible = True
TextBox10.Visible = True
TextBox11.Visible = True
TextBox12.Visible = True
Label21.Visible = True
Else
TextBox7.Visible = False
TextBox8.Visible = False
TextBox9.Visible = False
TextBox10.Visible = False
TextBox11.Visible = False
TextBox12.Visible = False
Label21.Visible = False
End If
End Sub
'Zeile 2
Private Sub TextBox9_Change()
If IsNumeric(TextBox9) Then
TextBox11 = TextBox9 * TextBox8
Else
TextBox11 = ""
End If
End Sub
Private Sub TextBox10_Change()
If IsNumeric(TextBox10) Then
TextBox12 = TextBox10 * TextBox8
Else
TextBox12 = ""
End If
End Sub
Private Sub TextBoX11_Change()
If IsNumeric(TextBox12.Value) Then
TextBox13.Visible = True
TextBox14.Visible = True
TextBox15.Visible = True
TextBox16.Visible = True
TextBox17.Visible = True
TextBox18.Visible = True
Label22.Visible = True
Else
TextBox13.Visible = False
TextBox14.Visible = False
TextBox15.Visible = False
TextBox16.Visible = False
TextBox17.Visible = False
TextBox18.Visible = False
Label22.Visible = False
End If
End Sub
Private Sub TextBox12_Change()
If IsNumeric(TextBox11.Value) Then
TextBox13.Visible = True
TextBox14.Visible = True
TextBox15.Visible = True
TextBox16.Visible = True
TextBox17.Visible = True
TextBox18.Visible = True
Label22.Visible = True
Else
TextBox13.Visible = False
TextBox14.Visible = False
TextBox15.Visible = False
TextBox16.Visible = False
TextBox17.Visible = False
TextBox18.Visible = False
Label22.Visible = False
End If
End Sub
'Zeile 3
Private Sub TextBox15_Change()
If IsNumeric(TextBox15) Then
TextBox17 = TextBox15 * TextBox14
Else
TextBox17 = ""
End If
End Sub
Private Sub TextBox16_Change()
If IsNumeric(TextBox16) Then
TextBox18 = TextBox16 * TextBox14
Else
TextBox18 = ""
End If
End Sub
Private Sub TextBoX17_Change()
If IsNumeric(TextBox18.Value) Then
TextBox19.Visible = True
TextBox20.Visible = True
TextBox21.Visible = True
TextBox22.Visible = True
TextBox23.Visible = True
TextBox24.Visible = True
Label23.Visible = True
Else
TextBox19.Visible = False
TextBox20.Visible = False
TextBox21.Visible = False
TextBox22.Visible = False
TextBox23.Visible = False
TextBox24.Visible = False
Label23.Visible = False
End If
End Sub
Private Sub TextBox18_Change()
If IsNumeric(TextBox17.Value) Then
TextBox19.Visible = True
TextBox20.Visible = True
TextBox21.Visible = True
TextBox22.Visible = True
TextBox23.Visible = True
TextBox24.Visible = True
Label23.Visible = True
Else
TextBox19.Visible = False
TextBox20.Visible = False
TextBox21.Visible = False
TextBox22.Visible = False
TextBox23.Visible = False
TextBox24.Visible = False
Label23.Visible = False
End If
End Sub
'Zeile 4
Private Sub TextBox21_Change()
If IsNumeric(TextBox21) Then
TextBox23 = TextBox21 * TextBox20
Else
TextBox23 = ""
End If
End Sub
Private Sub TextBox22_Change()
If IsNumeric(TextBox22) Then
TextBox24 = TextBox22 * TextBox20
Else
TextBox24 = ""
End If
End Sub
Private Sub TextBoX23_Change()
If IsNumeric(TextBox24.Value) Then
TextBox25.Visible = True
TextBox26.Visible = True
TextBox27.Visible = True
TextBox28.Visible = True
TextBox29.Visible = True
TextBox30.Visible = True
Label24.Visible = True
Else
TextBox25.Visible = False
TextBox26.Visible = False
TextBox27.Visible = False
TextBox28.Visible = False
TextBox29.Visible = False
TextBox30.Visible = False
Label24.Visible = False
End If
End Sub
Private Sub TextBox24_Change()
If IsNumeric(TextBox23.Value) Then
TextBox25.Visible = True
TextBox26.Visible = True
TextBox27.Visible = True
TextBox28.Visible = True
TextBox29.Visible = True
TextBox30.Visible = True
Label24.Visible = True
Else
TextBox25.Visible = False
TextBox26.Visible = False
TextBox27.Visible = False
TextBox28.Visible = False
TextBox29.Visible = False
TextBox30.Visible = False
Label24.Visible = False
End If
End Sub
'Zeile 5
Private Sub TextBox27_Change()
If IsNumeric(TextBox27) Then
TextBox29 = TextBox27 * TextBox26
Else
TextBox29 = ""
End If
End Sub
Private Sub TextBox28_Change()
If IsNumeric(TextBox28) Then
TextBox30 = TextBox28 * TextBox26
Else
TextBox30 = ""
End If
End Sub
Private Sub TextBox29_Change()
If IsNumeric(TextBox30.Value) Then
TextBox31.Visible = True
TextBox32.Visible = True
TextBox33.Visible = True
TextBox34.Visible = True
TextBox35.Visible = True
TextBox36.Visible = True
Label25.Visible = True
Else
TextBox31.Visible = False
TextBox32.Visible = False
TextBox33.Visible = False
TextBox34.Visible = False
TextBox35.Visible = False
TextBox36.Visible = False
Label25.Visible = False
End If
End Sub
Private Sub TextBox30_Change()
If IsNumeric(TextBox29.Value) Then
TextBox31.Visible = True
TextBox32.Visible = True
TextBox33.Visible = True
TextBox34.Visible = True
TextBox35.Visible = True
TextBox36.Visible = True
Label25.Visible = True
Else
TextBox31.Visible = False
TextBox32.Visible = False
TextBox33.Visible = False
TextBox34.Visible = False
TextBox35.Visible = False
TextBox36.Visible = False
Label25.Visible = False
End If
End Sub
'Zeile 6
Private Sub TextBox33_Change()
If IsNumeric(TextBox33) Then
TextBox35 = TextBox33 * TextBox32
Else
TextBox35 = ""
End If
End Sub
Private Sub TextBox34_Change()
If IsNumeric(TextBox34) Then
TextBox36 = TextBox34 * TextBox32
Else
TextBox36 = ""
End If
End Sub
Private Sub TextBox35_Change()
If IsNumeric(TextBox36.Value) Then
TextBox37.Visible = True
TextBox38.Visible = True
TextBox39.Visible = True
TextBox40.Visible = True
TextBox41.Visible = True
TextBox42.Visible = True
Label26.Visible = True
Else
TextBox37.Visible = False
TextBox38.Visible = False
TextBox39.Visible = False
TextBox40.Visible = False
TextBox41.Visible = False
TextBox42.Visible = False
Label26.Visible = False
End If
End Sub
Private Sub TextBox36_Change()
If IsNumeric(TextBox35.Value) Then
TextBox37.Visible = True
TextBox38.Visible = True
TextBox39.Visible = True
TextBox40.Visible = True
TextBox41.Visible = True
TextBox42.Visible = True
Label26.Visible = True
Else
TextBox37.Visible = False
TextBox38.Visible = False
TextBox39.Visible = False
TextBox40.Visible = False
TextBox41.Visible = False
TextBox42.Visible = False
Label26.Visible = False
End If
End Sub