Herbers Excel-Forum - das Archiv

Textbox in variablen Frame

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

Betrifft: Textbox in variablen Frame
von: Stephan Mett

Geschrieben am: 22.12.2006 13:24:39
Hallo zusammen,
ich versuche, eine variable Anzahl von Datenfeldern einer Tabelle über eine Userform abzufragen. Jeder vorhandene Bank (b) soll ein separater Frame zugeordnet werden. In diesem Frame sollen als Textfelder die Konten (k) der entsprechenden Bank aufgeführt werden.
Userform1.Controls.Add("Forms.TextBox.1", "Textbox." & Konto, True)
Setzt mir zwar die korrekten Konten-Textfelder aber eben nicht in den dafür vorgesehenen Frame. Es müsste also soetwas stehen wie:
Userform1.(Frame.b).Controls.Add("Forms.TextBox.1", "Textbox." & Konto, True)
Wobei Frame.b eben der Frame der entsprechenden Bank sein soll.
Hat jemand eine Idee?
Danke vorab.
Stephan
Bild

Betrifft: AW: Textbox in variablen Frame
von: Heiko S.

Geschrieben am: 22.12.2006 13:45:50
Hallo Stepahn,
entweder so wenn auch die Frames just in Time produziert werden.
Private Sub Eins()
Dim objF As Object
Set objF = UserForm1.Controls.Add("Forms.Frame.1", "Frame", True)
objF.Controls.Add "Forms.TextBox.1", "Textbox." & 1, True
MsgBox objF.Name
Set objF = Nothing
End Sub

Oder so wenn die Frames schon da sind.
Private Sub Zwei()
Dim objF As Object
' Frame auf deine Namen anpassen.
Set objF = Me.Controls("Frame")
objF.Controls.Add "Forms.TextBox.1", "Textbox." & 12, True
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Bild

Betrifft: Oder so ohne Set Anweisung
von: Heiko S.
Geschrieben am: 22.12.2006 13:48:00
Hallo
Private Sub Drei()
Me.Controls("Frame").Controls.Add "Forms.TextBox.1", "Textbox." & 12, True
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Bild

Betrifft: Textbox in zu produzierenden Frame
von: Stephan Mett

Geschrieben am: 22.12.2006 14:38:03
So richtig hab ich das noch nicht umsetzen können. Mein Code ist folgender:
For bank = 1 To 5 'Anzahl der Banken = Anzahl der Frames
For Konto = 4 To 15 'Anzahl der Konten = Anzahl der Textboxes
Set frame = Kontostandsabfrage.Controls.Add("forms.frame.1", "Frame." & bank, True)
With frame
.Caption = datei4.Cells(bank + 3, 2)
.Top = 10 + bank * 10
.Left = 20 + bank * 10
End With
Dim objF As Object
Set objF = Kontostandsabfrage.Controls.Add("Forms.Frame.1", "Frame" & bank, True)
objF.Controls.Add "Forms.TextBox.1", "Textbox." & 1, True
Set TextBox = Kontostandsabfrage.objF.Name.Controls.Add("Forms.TextBox.1", "frame" & bank & ".Textbox." & Konto, True)
With TextBox
.Top = 20 * Konto
.Value = datei4.Cells(Konto, 3)
End With
Set objF = Nothing
Next Konto
Next bank
Dass die Textboxes alle noch nicht an ihrem Ort sind, spielt erst mal keine Rolle, ich krieg noch eine Fehlermeldung...
Danke.
Bild

Betrifft: AW: Textbox in zu produzierenden Frame
von: Heiko S.

Geschrieben am: 22.12.2006 19:17:28
Hallo Stephan,
deine Versuche sind ein bisschen wirr und schwer nachzuvollziehen, aber mit diesem Code kriege ich fünf Frames auf mein Userform mit der entsprechenden Anzahl an Textboxen.
Private Sub CommandButton1_Click()
Dim Bank, Konto, Frame, TextBox
For Bank = 1 To 5 'Anzahl der Banken = Anzahl der Frames
Set Frame = Kontostandabfrage.Controls.Add("Forms.Frame.1", "Frame." & Bank, True)
With Frame
.Caption = "Frame " & Bank
'.Caption = datei4.Cells(bank + 3, 2)
.Top = 10 + Bank * 10
.Left = 20 + Bank * 10
For Konto = 4 To 15 'Anzahl der Konten = Anzahl der Textboxes
Set TextBox = .Controls.Add("Forms.TextBox.1", "Frame" & Bank & ".Textbox." & Konto, True)
With TextBox
.Top = 20 * Konto
.Value = Bank * Konto
End With
Set TextBox = Nothing
Next Konto
End With
Set Frame = Nothing
Next Bank
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Bild

Betrifft: AW: Textbox in zu produzierenden Frame
von: Stephan Mett
Geschrieben am: 23.12.2006 22:42:38
Perfekt, so krieg ich es hin. Vielen Dank und ein besinnliches Weihnachtsfest!
Stephan
 Bild
Excel-Beispiele zum Thema "Textbox in variablen Frame"
Text aus Textbox in Variable Namen von TextBoxes hochzählen
Text aus Textbox in Zellen aufteilen Nichtnumerische Eingaben in TextBox verhindern
Text aus UserForm-Textbox in Variable einlesen Nur Buchstaben in eine UserForm-TextBox
TextBoxes- und Label-Werte in Abhängigkeit verändern Nur AJM in TextBox akzeptieren und Anzahl zählen
Eingabelänge in TextBox begrenzen und Werte aus Liste übernehmen Artikel aus Auswahltextbox in Sammeltextbox verschieben