Ansprechen von dyn. erstellten Textboxen
11.07.2020 14:24:55
dyn.
ich bin dabei für meine Studienarbeit eine kleine Datenbank anzulegen. Dabei habe ich eine Userform erstellt mit welcher ich Daten eingeben kann und die dann in ein Excel Blatt abgespeichert werden.
Thema ist, dass ich unterschiedliche Geräte anlegen möchte die unterschiedliche Spezifikationen haben und mit der Zeit erweitert werden.
Auf der Hauptseite befinden sich in einer Spalte einige Spezifikationen, welche aber über die Zeit (je nach Gerätetyp) erweitert werden. Für die Spalte habe ich ein Skript geschrieben, welches dynamisch alle
Werte aus der der Spalte ausliest und in der Userform geordnet mit Label und TextBox rechts daneben ausgibt. In diese TextBox möchte ich die entsprechenden Werte eintragen und schließlich wieder auf einer separaten Seite abspeichern.
Soweit so gut. Das erzeugen gelingt mir, nur habe ich nach einiger Recherche noch keinen Weg gefunden die TextBoxen anzusprechen um die eingetragenen Werte in der UserForm abzuspeichern. Könnt ihr mir da einen Lösungsweg geben?
Private Sub UserForm_Initialize()
Dim w As Integer
'Range definieren
Dim rng As range
Set rng = Sheet1.range(Sheet1.Cells(7, 6), Sheet1.Cells(Sheet1.Rows.Count, 2).End(xlUp))
w = 10
'Label + Textbox erstellen
For Each rng In Worksheets("Spezifikationen").range("G6:G35")
If rng "" Then
Dim label As MSForms.label
Set label = Me.FrameSpezifikationen.Controls.Add("Forms.Label.1", "label", True)
With label
.Caption = rng.Value
.Left = 9
.Top = w + 4
.Height = 16
.Width = 150
End With
Dim TextBoxSpezifikation2 As MSForms.TextBox
Set TextBoxSpezifikation2 = Me.FrameSpezifikationen.Controls.Add("Forms.TextBox.1", _
"TextBoxSpezifikationen2", True)
With TextBoxSpezifikation2
.Left = 130
.Top = w
.Height = 16
.Width = 140
End With
w = w + 16
End If
Next rng
Me.FrameSpezifikationen.ScrollHeight = w + 5
End Sub