ich bin derzeit dabei ein Formular zu schreiben, in dem ausgewählt werden kann, wie viele Bauteile in einem Produktionsprozess simuliert werden sollen und wie lange die jeweilge Bearbeitungszeit ist.
Dazu habe ich ein Listenfeld angelegt, um die Bauteilanzahl auswählen zu lassen und abhängig davon entsprechend viele Label- und Textboxen anlegen lassen. Das sieht dann so aus:
Dim NewTextBox As MSForms.TextBox
Dim NewLabel As Object
Dim i, j As Integer
'Listenauswahl
i = lstBTAnz.Value
For j = 1 To i
Set NewTextBox = Controls.Add("forms.textbox.1")
With NewTextBox
.Name = "txtBTZeit" & j
.Left = 100
.Top = 150 + (20 * j)
.Width = 100
.Height = 15
.Font.Size = 7
.Font.Name = "Tahoma"
End With
Next
For j = 1 To i
Set NewLabel = Controls.Add("forms.label.1")
With NewLabel
.Name = "lblBTZeit" & j
.Left = 50
.Top = 152 + (20 * j)
.Width = 50
.Height = 15
.Font.Size = 7
.Font.Name = "Tahoma"
.Caption = "BT" & j
End With
Next
Soweit funktioniert das auch gut. Nur leider übernimmt er die dann eingetragenen Werte nicht ins Excelblatt. Dazu war dies mein Ansatz:
Private Sub cmdÜbernehmen_Click()
'Werte in Excel einlesen
Dim intErsteLeereZeile As Long
intErsteLeereZeile = ActiveSheet.Range("K2").End(xlDown).Row + 1
ActiveSheet.Cells(intErsteLeereZeile, 11).Value = txtBTZeit1.Value
Unload Me
Leider bekomme ich dann immer die Fehlermeldung "Objekt erforderlich". Ich hoffe jemand weiß, wo der Haken ist.