ich würde gerne wissen, ob es möglich ist, eine TextBox per VBA Code zu erzeugen.
MFG
Jörg
Private Sub UserForm_Activate()
Dim c As Control
For s = 1 To 10
Set c = Me.Controls.Add("Forms.TextBox.1", "T" & s, True)
With c
.Height = 15.75
.Top = 18 * s
.Left = 12
.Text = "Textbox" & s
End With
Next
End Sub
Um eine TextBox in einer UserForm per VBA zu erstellen, gehe folgendermaßen vor:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
Füge eine neue UserForm hinzu, indem du im Projekt-Explorer mit der rechten Maustaste auf dein Projekt klickst und Einfügen > UserForm wählst.
Füge den folgenden VBA-Code in das Codefenster der UserForm ein:
Private Sub UserForm_Activate()
Dim c As Control
For s = 1 To 10
Set c = Me.Controls.Add("Forms.TextBox.1", "T" & s, True)
With c
.Height = 15.75
.Top = 18 * s
.Left = 12
.Text = "Textbox " & s
End With
Next
End Sub
Schließe den VBA-Editor und starte die UserForm, um die TextBoxen zu sehen.
Fehler: TextBox wird nicht angezeigt
UserForm_Activate-Ereignis platziert ist. Wenn die TextBoxen nicht angezeigt werden, könnte es daran liegen, dass die UserForm nicht aktiviert wurde.Fehler: TextBox kann nicht angesprochen werden
Me.T1, Me.T2 usw.). Wenn du dynamisch TextBoxen erstellst, musst du sie entsprechend referenzieren.Wenn du eine TextBox nicht dynamisch erstellen möchtest, kannst du sie auch manuell in der UserForm platzieren:
Diese Methode ist nützlich, wenn du eine feste Anzahl an TextBoxen benötigst und keine dynamische Erstellung erforderlich ist.
Hier sind einige praktische Anwendungen für eine TextBox in einer UserForm:
Nutze die Visible-Eigenschaft der TextBox, um sie bei Bedarf ein- oder auszublenden:
Me.T1.Visible = False 'blendet die TextBox T1 aus.
Wenn du viele TextBoxen erstellst, überlege, ob das Verwenden von Arrays für die Verwaltung der TextBoxen sinnvoll ist. Dies kann den Code übersichtlicher und wartungsfreundlicher machen.
Achte darauf, die TextBoxen mit sinnvollen Namen zu versehen, um die Lesbarkeit deines Codes zu verbessern.
1. Wie kann ich den Text in einer TextBox auslesen?
Du kannst den Text einer TextBox mit Me.T1.Text auslesen. Das gibt dir den Inhalt der TextBox T1 zurück.
2. Kann ich eine TextBox in einer Tabelle erstellen?
Ja, du kannst eine TextBox auch in einem Excel-Arbeitsblatt hinzufügen, indem du den Shapes.AddTextbox-Befehl verwendest. Dies unterscheidet sich jedoch von der Erstellung in einer UserForm.