Dynamische Anzahl TextBoxen mit Bedingung

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm TextBox


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Dynamische Anzahl TextBoxen mit Bedingung
von: Wolle
Geschrieben am: 05.07.2002 - 09:58:13

Hallo zusammen,

Gibt es eine Möglichkeit, ein Formular zu erstellen, das je nach Bedingung eine unterschiedliche Anzahl von TextBoxen enthält?

Das Formular soll mindestens 24 TextBoxen enthalten.
Die 24 TextBoxen stehen für 24 Tabellenreihen der Tabelle DV.xls
Es kann aber sein, das manchmal mehr Tabellenreihen vorhanden sind, z.B. bei einer exportierten Tabelle aus einer anderen Software außer Excel. Dann brauche ich genau so viele TextBoxen wie Tabellenreihen.

Ist das Möglich ? Wenn ja, kann es mir jemand erklären?

MFG, Wolle


nach oben   nach unten

Re: Dynamische Anzahl TextBoxen mit Bedingung
von: Alf
Geschrieben am: 05.07.2002 - 13:29:29

Hallo

Du lässt die Controls am besten dynamisch erzeugen.
Teste diesen Code mit einer beliebigen Tabelle, in deren ersten
Kolonne Werte stehen.


Option Explicit
Private Sub UserForm_Initialize()
    Dim TXT As MSForms.Control
    Dim As Integer
    Dim Ra As Range
    Set Ra = ActiveSheet.UsedRange
    For i = 1 To Ra.Rows.Count
        Set TXT = Controls.Add("Forms.TextBox.1")
        TXT.Top = 10 + 16 * (i - 1)
        TXT.Height = 16
        TXT.Left = 10
        TXT.Width = 60
        TXT.Text = Ra.Range("A" & CStr(i)).Value
    Next
    Height = TXT.Top + TXT.Height + 29
End Sub

Gruss Alf


nach oben   nach unten

Re: Dynamische Anzahl TextBoxen mit Bedingung
von: Wolle
Geschrieben am: 05.07.2002 - 14:16:56

Hallo,

vielen Dank erstmal.
Ich brauch nur eine kleine Veränderung.
Es sollen nicht die Reihen sondern die Spalten berücksichtigt werden.

Geht das auch?

MFG, Wolle


nach oben   nach unten

Re: Dynamische Anzahl TextBoxen mit Bedingung
von: Alf
Geschrieben am: 05.07.2002 - 14:31:34

Man muss nur zwei Codezeilen verändern:


Option Explicit
Private Sub UserForm_Initialize()
    Dim TXT As MSForms.Control
    Dim As Integer
    Dim Ra As Range
    Set Ra = ActiveSheet.UsedRange
    For i = 1 To Ra.Columns.Count
        Set TXT = Controls.Add("Forms.TextBox.1")
        TXT.Top = 10 + 16 * (i - 1)
        TXT.Height = 16
        TXT.Left = 10
        TXT.Width = 60
        TXT.Text = Ra.Cells(1, i).Value
    Next
    Height = TXT.Top + TXT.Height + 29
End Sub

nach oben   nach unten

Re: Dynamische Anzahl TextBoxen mit Bedingung
von: Wolle
Geschrieben am: 05.07.2002 - 14:46:40

Das ist ja super!

Vielen dank!!!

Habe ich auch die Möglichkeit, dass die Textboxen das Formular ideal ausnutzen?

Am besten währe, wenn 6 TextBoxes nebeneinander stehen würden und erst dann die neue Spalte beginnt.

Kann man da auch was machen?

Aber nochmal danke für deine bisherige Hilfe.

MFG, Wolle


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Dynamische Anzahl TextBoxen mit Bedingung"