Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Name von aktueller TextBox anzeigen

Name von aktueller TextBox anzeigen
25.07.2005 22:44:03
aktueller
Hi
Ich Würde Gern wenn ich Strg drücke, den Namen der aktuellen, also makierten Textbox auslesen lassen.
Wie geht das?
Vielen Dank
Michael
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name von aktueller TextBox anzeigen
25.07.2005 23:28:18
aktueller
Hi,
Textbox in Userform oder Tabelle? Sind es viele Boxen (mehr als 5)?
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Name von aktueller TextBox anzeigen
25.07.2005 23:38:15
aktueller
Im UserForm
Danke
AW: Name von aktueller TextBox anzeigen
25.07.2005 23:57:04
aktueller
Also in etwa so will ich es machen
Ich komm nur nicht weiter.
Ich hab halt mehrere Textboxen und jedes mall soll der Makro "Name_Auslesen" gestartet und somit der aktuelle Boxenname ausgelesen werden.

Private Sub Box1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyControl Then Application.Run "Name_Auslesen"
End Sub

Sub Name_Auslesen
MsgBox NAME DER AKTUELLEN BOX
End Sub
Ich hoffe jetzt wird es verständlicher.
Danke
Michael
Anzeige
AW: Name von aktueller TextBox anzeigen
26.07.2005 00:04:06
aktueller
Hi,

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 17 Then MsgBox ActiveControl.Name
End Sub

Wenn es viele Textboxen sind, empfielt sich ein Klassenmodul.
mfg Leo
AW: Name von aktueller TextBox anzeigen
26.07.2005 00:08:40
aktueller
Hi Leo,
warum ActiveControl wenn du doch im Ereignis von Textbox1 bist?
Gruß
Nepumuk
Anzeige
AW: Name von aktueller TextBox anzeigen
26.07.2005 00:16:31
aktueller
Hi,
was spricht dagegen? Läßt sich doch super in die anderen Textboxen kopieren.
mfg Leo
AW: Name von aktueller TextBox anzeigen
26.07.2005 00:18:44
aktueller
Hi Leo,
nix, war ja nur ne Frage :-)
Gruß
Nepumuk
vvöllig OT
26.07.2005 00:45:58
Reinhard
Hallo Nepumuk,
für mich nicht von direktem Interesse, wär nur was für meine Neugier und mein API-Sammlung. In der findet man viel von dir :-)
In einem anderen Forum hat einer 2 x/y-Meßreihen. Er will wissen wie das Diagramm aussehe wenn man eine Linie von der anderen abzieht.Er behauptet die Daten zu interpolieren würde das Ergebniosis vrfälschen. Ich habe eben gerade nachgefragt warum eigentlich.
Die x Werte beider Datenreihen sind unterschiedlich. Okay, an sich egal für diese Anfrage hie.
Ich denke es ist nur mit API lösbar wenn überhaupt.
Ich krieg den ersten Teil, mit google wenn ich da auch API brauche, selbst hin. Aufgrund der Diagrammposition auf dem Bildschirm, und dem Wissen der Maximalgröße von x, kriege ich ja die x/y-Koordinaten von x=0 und x=max.
Daraus dann auch die x/y_position eines beliebigen x-Wertes.
Som jetzt kommt API ins Spiel, man müsste dann ab dieser x/y-Position senkrecht nach oben gehen bis man auf einen gefärbten Pixel trifft , dann hat man den Y-Wert.
Oder gibt es einen besseren Ansatz der mit einfachem vba lösbar ist, deshalb Frage noch offen.
Gruß
Reinhard
Anzeige
AW: vvöllig OT
26.07.2005 09:05:47
Nepumuk
Hi Reinhard,
um das Problem zu verdeutlichen: Du kannst mit API die Farbe eines Pixels auslesen. Soweit kein Problem. Aber, hast du eine Ahnung davon, wie viele Pixel auf deinem Bildschirm sind? Meiner hat 995.328. Woher soll das Programm wissen, bei welchem Pixel der Wert 1 oder 2 oder 3 ist? Und dann könnte dir nur die Anzahl der Pixel zurückgegeben werden. Wenn sich das Programm alle Werte durch durchlesen der Pixel holen muss, kannst du getrost einen Kaffee trinken gehen. Mir ist das ehrlich gesagt zuviel Aufwand, da sitze ich eine Woche dran bis das läuft und ich habe auch noch andere Kundschaft. Ich moderiere 11 verschiedene Foren. Das sind rund 100 Fragen pro Tag. Willst du die in der Zwischenzeit übernehmen? Das gibt auf alle Fälle einen regen Mailverkehr für dich. Ich liege bei rund 4.000 pro Monat.
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Name von aktueller TextBox anzeigen
27.07.2005 11:04:56
aktueller
Hallo danke für die Antworten, aber wenn ich es mit ActiveControl.Name mache kommt immer "MultiPage1". Und wie geht das mit dem Klassenmodul?
Vielen Dank
Michael
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Name von aktueller TextBox anzeigen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne das Excel-Dokument und erstelle ein UserForm oder öffne ein bestehendes.

  2. Füge mehrere TextBoxen in das UserForm ein. Stelle sicher, dass du die TextBoxen benennst, z.B. TextBox1, TextBox2, usw.

  3. Gehe in den VBA-Editor (Alt + F11).

  4. Füge den folgenden Code in das UserForm ein:

    Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
       If KeyCode = 17 Then MsgBox Me.TextBox1.Name
    End Sub
    
    Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
       If KeyCode = 17 Then MsgBox Me.TextBox2.Name
    End Sub
  5. Wiederhole diesen Schritt für jede TextBox oder verwende ein Klassenmodul für eine effizientere Lösung (siehe Abschnitt „Alternative Methoden“).

  6. Teste das UserForm, indem du Strg drückst, während eine TextBox aktiv ist.


Häufige Fehler und Lösungen

  • Fehler: Es wird „MultiPage1“ angezeigt.

    • Lösung: Stelle sicher, dass du den Code in der richtigen TextBox platzierst. Verwende Me.TextBox1.Name anstelle von ActiveControl.Name, um den spezifischen Namen der TextBox zu erhalten.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Überprüfe, ob die TextBox-Fokussierung aktiv ist und ob der KeyCode korrekt erfasst wird.

Alternative Methoden

Wenn du viele TextBoxen hast, empfiehlt es sich, ein Klassenmodul zu verwenden, um den Code zu optimieren. Hier ist ein einfacher Ansatz:

  1. Erstelle ein neues Klassenmodul im VBA-Editor und nenne es „TextBoxHandler“.

  2. Füge den folgenden Code ein:

    Dim WithEvents TB As MSForms.TextBox
    
    Public Sub Init(tb As MSForms.TextBox)
       Set TB = tb
    End Sub
    
    Private Sub TB_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
       If KeyCode = 17 Then MsgBox TB.Name
    End Sub
  3. In deinem UserForm, initialisiere das Klassenmodul für jede TextBox:

    Dim Handler As TextBoxHandler
    
    Private Sub UserForm_Initialize()
       Set Handler = New TextBoxHandler
       Handler.Init TextBox1
       Set Handler = New TextBoxHandler
       Handler.Init TextBox2
    End Sub

Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie man den Namen der aktiven TextBox ausliest:

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 17 Then MsgBox "Der Name der TextBox ist: " & Me.TextBox1.Name
End Sub

Du kannst den Code für jede TextBox wiederholen oder die oben beschriebene beliebte Methode mit Klassenmodulen verwenden.


Tipps für Profis

  • Verwende Me. vor dem TextBox-Namen, um sicherzustellen, dass du auf die korrekte Instanz zugreifst.
  • Nutze Klassenmodule für eine bessere Strukturierung deines Codes, besonders wenn du mehrere TextBoxen hast.
  • Teste deinen Code regelmäßig, um sicherzustellen, dass die Eingaben korrekt erfasst werden.

FAQ: Häufige Fragen

1. Wie kann ich den Namen der TextBox in einer MessageBox anzeigen? Du kannst den Namen der TextBox mit MsgBox Me.TextBox1.Name anzeigen, während du die Tastenkombination Strg drückst.

2. Was ist der Vorteil eines Klassenmoduls? Ein Klassenmodul ermöglicht es dir, wiederverwendbaren Code zu schreiben und die Verwaltung von Ereignissen für mehrere Controls zu optimieren.

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