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

TextBox variabel ansprechen

Forumthread: TextBox variabel ansprechen

TextBox variabel ansprechen
TCO99
Hallo zusammen,
ich habe leider keine Lösung gefunden und muss euch wieder bemühen :-(
Zur Situation:
Ich habe eine Datei mit vielen Textboxen und Schaltflächen. Jede Schaltfläche startet die selbe Userform. Abhängig davon, durch welche Schaltfläche die Userform gestartet wurde, soll auch eine entsprechende Textbox gefüllt werden.
Meine Idee:
Wenn Schaltfläche X die Schaltfläche ist, mit der die Userform gestartet wurde, wird X irgendwo eingetragen bzw. vermerkt, bei Schaltfläche Y halt ein Y. Abhängig vom gemachten Eintrag (X bzw.Y) wird die entsprechende Textbox als Ziel-Textbox definiert.
Mein Problem:
Ich weiß nicht, wie ich die Ziel-Textbox definieren kann.
Ich habe eine Beispielmappe mit Code gemacht, die ich hochladen möchte:
https://www.herber.de/bbs/user/63473.xls
Hat jemand einen Lösungsvorschlag?
Gruß
Erdogan
PS: Feedback ist selbstverständlich.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: TextBox variabel ansprechen
27.07.2009 22:41:44
Josef
Hallo Erdogan,
deine Frage hat mit deiner Datei aber nicht viel gemeinsam!
Meinst du so?
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public ZielTextBox As msforms.TextBox

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Schaltfläche1_BeiKlick()
  UserForm1.Show
End Sub

' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Private Sub CommandButton1_Click()
  Set ZielTextBox = Me.Controls("TextBox1")
End Sub

Private Sub CommandButton2_Click()
  Set ZielTextBox = Me.Controls("TextBox2")
End Sub

Private Sub CommandButton3_Click()
  If Not ZielTextBox Is Nothing Then ZielTextBox = "Hallo"
End Sub

Gruß Sepp

Anzeige
AW: TextBox variabel ansprechen
27.07.2009 22:51:08
TCO99
Hallo Sepp,
schon möglich, dass ich meine Frage schlecht gestellt habe oder die Beispielmappe nicht gelungen ist. Ich habe nochmal darüber nachgedacht und muss sagen, dass ich nicht weiß, wie ich es hätte besser machen können. Umso cooler, dass du erkannt hast, was das Problem ist und deine Lösung wunderbar funktioniert. Es macht genau das, was ich mir gewünscht habe!
Ich bedanke mich sehr herzlich bei dir!
Viele Grüße
Erdogan
PS: einfach toll, dass es dieses Forum gibt!
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

TextBox variabel ansprechen in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "Projekt" und wähle "Einfügen" > "Modul".

  3. Definiere die Ziel-Textbox: Füge den folgenden Code in das Modul ein, um eine Variable für die TextBox zu definieren.

    Public ZielTextBox As MSForms.TextBox
  4. Erstelle die Schaltflächen-Subroutinen: Definiere, welche TextBox bei Klick auf die Schaltfläche angesprochen werden soll.

    Private Sub CommandButton1_Click()
        Set ZielTextBox = Me.Controls("TextBox1")
    End Sub
    
    Private Sub CommandButton2_Click()
        Set ZielTextBox = Me.Controls("TextBox2")
    End Sub
    
    Private Sub CommandButton3_Click()
        If Not ZielTextBox Is Nothing Then
            ZielTextBox = "Hallo"
        End If
    End Sub
  5. Füge die UserForm hinzu: Erstelle eine UserForm und platziere die TextBoxen und Schaltflächen darauf.

  6. Starte die UserForm: Füge einen weiteren Code hinzu, um die UserForm zu starten, wenn die Schaltfläche gedrückt wird.

    Sub Schaltfläche1_BeiKlick()
        UserForm1.Show
    End Sub

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden": Stelle sicher, dass der Name der TextBox korrekt ist. Es ist wichtig, den Namen exakt zu verwenden, wie er im Eigenschaftenfenster angezeigt wird.
  • Fehler: "ZielTextBox ist nicht gesetzt": Überprüfe, ob die Subroutine, die die ZielTextBox setzt, vor dem Zugriff auf die TextBox aufgerufen wurde.
  • Lösung: Füge Debugging-Statements ein, um den aktuellen Wert von ZielTextBox zu überprüfen.

Alternative Methoden

Eine alternative Methode, um ein vba textfeld ansprechen, wäre die Verwendung eines Arrays oder einer Collection, um mehrere TextBoxen dynamisch zu verwalten. So kannst du die Interaktionen mit den TextBoxen vereinfachen.

Dim TextBoxArray(1 To 2) As MSForms.TextBox

Sub InitializeTextBoxes()
    Set TextBoxArray(1) = Me.Controls("TextBox1")
    Set TextBoxArray(2) = Me.Controls("TextBox2")
End Sub

Praktische Beispiele

Ein praktisches Beispiel für die Verwendung von MSForms.TextBox wäre die Erstellung eines Formulars zur Eingabe von Benutzerdaten. Du kannst die TextBoxen verwenden, um Informationen wie Name und Adresse zu erfassen, und die Daten dann in eine Excel-Tabelle schreiben.

Private Sub SubmitButton_Click()
    Sheets("Daten").Cells(1, 1).Value = TextBox1.Text
    Sheets("Daten").Cells(1, 2).Value = TextBox2.Text
End Sub

Tipps für Profis

  • Verwende With ... End With, um den Code lesbarer zu gestalten, wenn du mehrere Eigenschaften einer TextBox ändern möchtest.
  • Implementiere Fehlerbehandlungsroutinen, um das Programm robuster zu machen, insbesondere wenn du mit Benutzereingaben arbeitest.
  • Halte die UserForm einfach und intuitiv, um die Benutzererfahrung zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich mehrere TextBoxen in einer UserForm ansprechen?
Du kannst mehrere TextBoxen definieren, indem du verschiedene Variablen für jede TextBox erstellst oder sie in einem Array speicherst.

2. Was mache ich, wenn meine TextBox nicht angezeigt wird?
Überprüfe die Sichtbarkeitseinstellungen der UserForm und stelle sicher, dass die TextBox auf der UserForm platziert wurde. Achte auch darauf, dass die UserForm korrekt geladen wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige