Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: TextBox per VBA erstellen?

TextBox per VBA erstellen?
03.06.2004 11:12:29
Jörg
Hallo zusammen,
ich würde gerne wissen, ob es möglich ist, eine TextBox per VBA Code zu erzeugen.
MFG
Jörg
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextBox per VBA erstellen?
Kurt
Ja, wichtig, wo, im userform oder Tabelle?
Kurt
AW: TextBox per VBA erstellen?
03.06.2004 11:15:37
Jörg
In einer UserForm hätte ich es gern, wenns möglich ist.
MFG
jörg
AW: TextBox per VBA erstellen?
Kurt
So werden 10 Textboxen erstellt:

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

Die nächste Frage wird vermutlich sein, wie die dann angesprochen werden?
Tipp, wenn es nicht unbedingt sein muss, lass es besser!
Kurt
Anzeige
Super Danke! Jedoch,
03.06.2004 12:00:06
Jörg
wenn du schon schreibst,
"Die nächste Frage wird vermutlich sein, wie die dann angesprochen werden?"
,dann verrate mir doch auch bitte die Lösung! :-))
Gruß Jörg
AW: Super Danke! Jedoch,
Kurt
Gegenfrage, brauchst du unbedingt dynamisch erstellte controls? Du wirst
merken, dass da noch mehr Probleme auftauchen, je nachdem, was im weiteren
Verlauf passieren soll.
Bezogen auf mein letztes Beispiel:
Me!T1.Visible = False
'blendet die Textbox T1 aus.
Weitere Fragen werde ich nicht beantworten!
Kurt
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

TextBox per VBA erstellen


Schritt-für-Schritt-Anleitung

Um eine TextBox in einer UserForm per VBA zu erstellen, gehe folgendermaßen vor:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. 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.

  3. 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
  4. Schließe den VBA-Editor und starte die UserForm, um die TextBoxen zu sehen.


Häufige Fehler und Lösungen

  • Fehler: TextBox wird nicht angezeigt

    • Stelle sicher, dass der Code im 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

    • Überprüfe, ob du die richtigen Namen der TextBoxen benutzt (z.B. Me.T1, Me.T2 usw.). Wenn du dynamisch TextBoxen erstellst, musst du sie entsprechend referenzieren.

Alternative Methoden

Wenn du eine TextBox nicht dynamisch erstellen möchtest, kannst du sie auch manuell in der UserForm platzieren:

  1. Wähle im VBA-Editor die UserForm aus.
  2. Ziehe eine TextBox aus der Toolbox auf die UserForm.
  3. Du kannst die Eigenschaften der TextBox im Eigenschaftenfenster anpassen.

Diese Methode ist nützlich, wenn du eine feste Anzahl an TextBoxen benötigst und keine dynamische Erstellung erforderlich ist.


Praktische Beispiele

Hier sind einige praktische Anwendungen für eine TextBox in einer UserForm:

  • Dateneingabe: Verwende eine TextBox, um Benutzereingaben zu sammeln, wie z.B. Namen oder Adressen.
  • Suchfunktion: Implementiere eine TextBox, um durch eine Liste von Daten zu suchen.
  • Kommentare: Erstelle eine TextBox für Benutzer, um Kommentare oder Notizen hinzuzufügen.

Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige