Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Aktive TextBox finden?

Aktive TextBox finden?
13.12.2005 12:21:16
Oliver
Hallo an alle,
ich hätte da mal eine Frage zu TextBoxen, die sich in einer UserForm befinden. Kann man eigentlich prüfen, in welcher TextBox sich der Coursor gerade befindet, bzw. welche die gerade aktive TextBox ist? Wenn ja, wie sieht denn der VBA Code dafür aus?
Danke schon mal,
Oliver S.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Aktive TextBox finden?
13.12.2005 12:46:40
Galenzo
MsgBox ActiveControl.Name
Viel Erfolg!
AW: Aktive TextBox finden?
13.12.2005 12:56:58
MichaV
Hallo Galenzo,
das ist cool. Ich wollt gerade was mit haufenweise API basteln ;o)
Gruss- Micha
AW: Aktive TextBox finden?
13.12.2005 14:54:20
Heiko
Hallo Micha,
und ich was mit For each ... in me.Controls usw.
Aber man sieht wieder, hier aktiv sein bringt einem immer wieder neue Erkenntnisse.
Sag mal mal so ganz nebenbei, das letzte CSV Codeprojekt bei Online-EXCEL kann man wohl als gescheitert bezeichnen, oder ?! Sowas läuft wohl nicht wirklich.
Gruß Heiko
Anzeige
AW: Aktive TextBox finden?
13.12.2005 15:33:49
MichaV
Hallo,
1. mit Blick auf die aktuelle OffTopic- Diskussion https://www.herber.de/forum/offtopic/messages/3147.html ist genau das das Argument wo ich sage: gut, daß Fragen öfter gestellt und von mehreren Leuten mit mehreren Varianten beantwortet werden.
2. (nebenbei): die Idee war gut aber die Welt noch nicht bereit. Ist ja nicht das einzige Projekt, was eingeschlafen ist....
3. @Galenzo: von mir aus stell Dein Level wieder auf "Profi" ;o)
Gruss- Micha
Anzeige
AW: Aktive TextBox finden?
13.12.2005 12:58:31
Oliver
Hi Galenzo,
danke Dir für Deine Antwort, Du hast mir damit sehr geholfen.
Gruß,
Oliver S.
;
Anzeige

Infobox / Tutorial

Aktive TextBox in Excel UserForms finden


Schritt-für-Schritt-Anleitung

Um die aktive TextBox in einer UserForm zu finden, kannst du den folgenden VBA-Code verwenden. Dieser Code zeigt den Namen der aktuell aktiven TextBox in einer MessageBox an:

Private Sub UserForm_Activate()
    MsgBox ActiveControl.Name
End Sub
  1. Öffne die Excel-Datei und gehe in den VBA-Editor (drücke ALT + F11).
  2. Erstelle eine neue UserForm oder wähle eine bestehende aus.
  3. Füge mehrere TextBoxen hinzu, wenn nötig.
  4. Kopiere den obigen Code in das Codefenster der UserForm.
  5. Schließe den VBA-Editor und teste die UserForm. Wenn du in eine TextBox klickst, sollte der Name der TextBox angezeigt werden.

Häufige Fehler und Lösungen

  • Fehler: „Fehler beim Ausführen des Codes“
    Lösung: Stelle sicher, dass du den Code im richtigen Modul (UserForm) eingefügt hast. Der Code muss im Code-Fenster der UserForm stehen.

  • Fehler: „ActiveControl ist nichts“
    Lösung: Vergewissere dich, dass du das UserForm aktivierst, bevor du den Code ausführst. Der Code sollte im UserForm_Activate Event platziert sein.


Alternative Methoden

Eine alternative Methode, um die aktive TextBox zu finden, ist die Verwendung einer Schleife über die Steuerelemente der UserForm. Hier ist ein Beispiel:

Private Sub UserForm_Activate()
    Dim ctrl As Control
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is MSForms.TextBox Then
            If ctrl.Focused Then
                MsgBox ctrl.Name
            End If
        End If
    Next ctrl
End Sub

Diese Methode überprüft alle Steuerelemente und zeigt den Namen der fokussierten TextBox an.


Praktische Beispiele

Angenommen, du hast eine UserForm mit den TextBoxen „txtName“, „txtEmail“ und „txtAdresse“. Wenn du den obigen Code verwendest, wird beim Aktivieren der UserForm angezeigt, in welcher TextBox der Cursor gerade steht, z.B. „txtName“.


Tipps für Profis

  • Nutze die GotFocus-Ereignisse der TextBoxen, um spezifische Aktionen auszuführen, wenn die TextBox aktiviert wird.
  • Verwende Debug.Print ActiveControl.Name, um den Namen der aktiven TextBox im Direktfenster anzuzeigen, anstatt eine MessageBox zu verwenden, wenn du während der Entwicklung debuggen möchtest.

FAQ: Häufige Fragen

1. Frage
Kann ich den Namen der TextBox auch in einer anderen Art und Weise anzeigen?
Antwort: Ja, anstelle einer MessageBox kannst du den Namen auch in einer Label-Control innerhalb der UserForm anzeigen.

2. Frage
Funktioniert das auch in Excel 2016 und älteren Versionen?
Antwort: Ja, der beschriebenen Code funktioniert in Excel 2010 und neueren Versionen, einschließlich Excel 2016.

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