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

ActiveControl für TextBox im MultiPage

Forumthread: ActiveControl für TextBox im MultiPage

ActiveControl für TextBox im MultiPage
17.11.2014 15:09:45
Urmila
Hallo zusammen,
ich komme leider nicht weiter und hoffe ihr könnt mir behilflich sein...
Ich habe eine MultiPage, in diesem sind einige Textboxen.
Nun will ich wenn ich auf bestimmte TextBox (sind aber alle umbenannt) klicke oder mit Tab in die TextBox springe, soll eine MsgBox erscheinen. Folgenden Code habe ich zusammen gestellt doch es wird nie die TextBox erkannt sondern die MultiPage (also als MsgBox soll der Name des Textboxes erscheinen und nicht der von der MultiPage):
Private Sub TB_Biene_Enter()
MsgBox = Me.MultiPage.Pages(0).ActiveControl.Name
End Sub

Vielen Dank und LG
Urmila

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveControl für TextBox im MultiPage
17.11.2014 15:16:51
Crazy
Hallo
in meinem Test geht es so
Private Sub TB_Biene_Enter()
MsgBox Me.MultiPage1.Pages(0).ActiveControl.Name
End Sub

MfG Tom

AW: ActiveControl für TextBox im MultiPage
17.11.2014 15:21:22
Rudi
Hallo,
funktioniert soweit bei mir
MsgBox = ?
Gruß
Rudi

AW: ActiveControl für TextBox im MultiPage
17.11.2014 21:55:34
Urmila
Hallo zusammen,
sorry aber habe den Fehler soeben gefunden....die TextBoxen waren zwar in einem MultiSheet eingefügt, jedoch war da noc ein Frame (was auf die Größe skaliert war ohne Überschrift).
Habe diese dann so gelöst:
MsgBox Me.MultiPage1.Pages(0).ActiveControl.ActiveControl.Name
Vielen Dank und schöne Träume
Urmila
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

ActiveControl für TextBox im MultiPage korrekt nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Füge ein UserForm hinzu und platziere eine MultiPage-Steuerung sowie einige TextBoxen darauf.

  3. Benenne Deine TextBoxen sinnvoll, z.B. TB_Biene.

  4. Füge den folgenden Code in das entsprechende TextBox-Event ein:

    Private Sub TB_Biene_Enter()
       MsgBox Me.MultiPage1.Pages(0).ActiveControl.Name
    End Sub
  5. Teste Deine Anwendung, indem Du die TextBox auswählst. Eine MsgBox sollte den Namen der TextBox anzeigen.


Häufige Fehler und Lösungen

  • Fehler: MsgBox zeigt den Namen der MultiPage an statt der TextBox.

    • Lösung: Stelle sicher, dass Du die richtige Referenz zur TextBox verwendest. Verwende den folgenden Code:
    MsgBox Me.MultiPage1.Pages(0).ActiveControl.ActiveControl.Name
  • Fehler: TextBox ist nicht aktiv.

    • Lösung: Überprüfe, ob die TextBox korrekt im MultiPage platziert ist und keine weiteren Container wie Frames dazwischen sind.

Alternative Methoden

Eine alternative Methode zur Erkennung der aktiven TextBox könnte die Verwendung des ActiveControl-Objekts sein. Hier ein Beispiel:

Private Sub MultiPage1_Change()
    MsgBox Me.MultiPage1.ActiveControl.Name
End Sub

Diese Methode erfordert, dass die MultiPage geändert wird, um den Namen der aktiven Kontrolle anzuzeigen.


Praktische Beispiele

Hier sind einige praktische Beispiele, die Dir helfen können:

  1. Wenn Du mehrere TextBoxen hast und nur eine MsgBox für die aktuell aktive TextBox anzeigen möchtest, kannst Du den Code wie folgt anpassen:

    Private Sub TB_Biene_Enter()
       MsgBox "Aktive TextBox: " & Me.ActiveControl.Name
    End Sub
  2. Um alle TextBoxen in einem MultiPage zu überwachen, könntest Du eine Schleife verwenden, um auf alle Texteingaben zu reagieren.


Tipps für Profis

  • Nutze With-Anweisungen, um den Code lesbarer zu gestalten:

    Private Sub TB_Biene_Enter()
       With Me.MultiPage1.Pages(0)
           MsgBox .ActiveControl.Name
       End With
    End Sub
  • Überlege, die KeyPress-Ereignisse der TextBoxen zu verwenden, um sofortige Rückmeldungen zu geben.


FAQ: Häufige Fragen

1. Wie kann ich den Namen der MultiPage abrufen?
Du kannst den Namen der MultiPage wie folgt abrufen:

MsgBox Me.MultiPage1.Name

2. Was ist der Unterschied zwischen ActiveControl und Me.ActiveControl?
ActiveControl bezieht sich auf die aktuell aktive Kontrolle in einem Container, während Me.ActiveControl sich auf die aktive Kontrolle im aktuellen Kontext bezieht.

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