eine Frage an die Profis:
Kann ich bei der Initialisierung einer Userform TextBoxen erstellen und dahinter auch gleich das Change-Event per Makrocode hinterlegen? Der zu hinterlegende Code ist immer gleich.
Ich lasse per Schleife meine Userform dynamisch mit TextBoxen befüllen
For i = 1 to intLS
' Textbox
Set objTextbox = Me.Frame1.Controls.Add("Forms.Textbox.1", , True)
With objTextbox
.Name = "Textbox" & i
.Top = (i - 6) * 20
.Left = 405
.Height = 15
.Width = 100
End With
' Textbox Ende
next i
Bei der Integration des Change-Events stoße ich aber immer auf Fehlermeldungen 438 "Objekt unterstützt diese Eigenschaft nicht"
Mein Ansatz:
For i = 1 to intLS
' Textbox
Set objTextBox = Me.Frame1.Controls.Add("Forms.Textbox.1", , True)
With objTextBox
.Name = "Textbox" & i
.Top = (i - 6) * 20
.Left = 405
.Height = 15
.Width = 100
' Versuch VBA-Code durch VBA erstellen
Dim VBC As Object
Dim LineNr As Integer
With ThisWorkbook.VBProject.VBComponents(UserForm1.Frame1.objTextBox).CodeModule
LineNr = .CreateEventProc("Change", "Textbox" & i)
.InsertLines LineNr + 1, " "
.InsertLines LineNr + 2, "Me.Textbox2.SetFocus"
End With
' Versuch VBA-Code durch VBA erstellen ENDE
End With
' Textbox
next i
Danke und Grüße, Bernd