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

VBA: TextBox-Inhalt bei Mausklick markieren

Forumthread: VBA: TextBox-Inhalt bei Mausklick markieren

VBA: TextBox-Inhalt bei Mausklick markieren
27.01.2004 13:56:31
toco1
Hallo!
Gibt es eine Option dafür, dass wenn ich auf eine Textbox klicke, um den Inhalt zu überschreiben, gleich der alte Text markiert ist????
Danke + Gruß

der alex
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: TextBox-Inhalt bei Mausklick markieren
27.01.2004 13:59:36
Dirk
Hallo
Die Eigenschaft "EnterFieldBehavior" auf 0 setzen. Sollte eigentlich standardmäßig so sein.
Cheers
AW: VBA: TextBox-Inhalt bei Mausklick markieren
27.01.2004 14:03:06
Hajo_Zi
Hallo Alex
ein Click Ereignis gibt es nicht. Benutze Doppelklick.

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End Sub

Gruß Hajo
Anzeige
AW: VBA: TextBox-Inhalt bei Mausklick markieren
27.01.2004 14:05:11
Josef Ehrensberger
Hallo Alex!
Textbox in der Tabelle oder UserForm?
In der Tabelle


Private Sub TextBox1_GotFocus()
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub

in UserForm


Private Sub TextBox1_Enter()
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
Hajo+Josef
27.01.2004 14:08:12
Dirk
Hallo ihr zwei.
korrigiert mich, wenn ich falsch liege. Ist diese Option "EnterFieldBehavior" für was anderes gedacht?
Cheers
AW: Markieren
27.01.2004 14:11:29
Hajo_Zi
Hallo Cheers
ich habe Deine Variante getestet bevor ich meinen Beitrag geschrieben habe. Deine Variante hatte nicht den gewünschten Erfolg.
Aus der Hilfe
"EnterKeyBehavior-Eigenschaft

Definiert, welche Wirkung das Drücken der EINGABETASTE in einem Textfeld-Steuerelement (TextBox) hat.
Syntax
object.EnterKeyBehavior [= Boolean]
Die Syntax für die EnterKeyBehavior-Eigenschaft besteht aus folgenden Teilen:
Teil Beschreibung
object Erforderlich. Ein gültiges Objekt.
Boolean Optional. Gibt an, welche Wirkung das Drücken der EINGABETASTE hat.

Einstellungen
Die Einstellungen für Boolean sind:
Wert Beschreibung
True Durch Drücken der EINGABETASTE wird eine neue Zeile erzeugt.
False Durch Drücken der EINGABETASTE wird der Fokus zum nächsten Objekt in der Aktivierreihenfolge verschoben (Voreinstellung). "
Gruß Hajo
Anzeige
AW: Hajo+Josef
27.01.2004 14:12:17
Josef Ehrensberger
Hallo Dirk!
Nein nein, Du liegst schon richtig, aber bei einer
TextBox in der Tabelle, kommst Du mit der Tab-Taste
ja nicht in die Textbox.
Gruß Sepp
AW: Markieren
27.01.2004 14:14:14
Hajo_Zi
Hallo Sepp
habe ich was überlesen. Er wollte doch in die Textbox klicken nicht mit Tab.

Gruß hajo
AW: Markieren
27.01.2004 14:18:35
toco1
Hallo nochmal,
die textbox ist auf einer Userform. Und es geht eigentlich um den Mausklick, wenn bei TAB das gleiche passieren würde wäre das aber noch besser...

thx!
toco1
Anzeige
Wurde eine Lösung getestet ??? OT
27.01.2004 14:20:44
Hajo_Zi
AW: Markieren
27.01.2004 14:27:09
Josef Ehrensberger
Hi,
hatte einen Denkfehler mit Enter.
So geht's auch mit der Maus.


Private Sub TextBox1_MouseDown(ByVal Button As IntegerByVal Shift As IntegerByVal As SingleByVal As Single)
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Markieren
27.01.2004 14:21:51
Josef Ehrensberger
Hallo Hajo,
nein Du hast nichts Überlesen.
Wollte Dirk nur mitteilen. das "EnterFieldBehavior" nicht
funktioniert, wenn man mit der Maus in die TextBox klickt.
In einer UF kann man ja mit TAB in die Textbox gelangen,
dann funktioniert auch "EnterFieldBehavior".
Gruß Sepp
Anzeige
AW: Markieren
27.01.2004 14:23:20
Dirk
Jupp, danke.
;
Anzeige

Infobox / Tutorial

TextBox-Inhalt bei Mausklick markieren in VBA


Schritt-für-Schritt-Anleitung

Um den Inhalt einer TextBox bei einem Mausklick zu markieren, kannst du die folgende Vorgehensweise nutzen. Dies funktioniert sowohl in einer UserForm als auch in einer Tabelle.

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Finde deine UserForm oder Tabelle: Wähle die UserForm oder das Arbeitsblatt aus, auf dem sich die TextBox befindet.
  3. Füge den Code hinzu: Du kannst den folgenden Code verwenden, um das Markieren des Textes zu realisieren.

Für eine UserForm:

Private Sub TextBox1_Enter()
    With TextBox1
        .SelStart = 0
        .SelLength = Len(.Text)
    End With
End Sub

Für eine Tabelle:

Private Sub TextBox1_GotFocus()
    With TextBox1
        .SelStart = 0
        .SelLength = Len(.Text)
    End With
End Sub

Um den Text bei einem Mausklick zu markieren, kannst du folgenden Code in das MouseDown-Ereignis einfügen:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    With TextBox1
        .SelStart = 0
        .SelLength = Len(.Text)
    End With
End Sub

Häufige Fehler und Lösungen

  • Fehler: Der Text wird nicht bei einem Mausklick markiert.

    • Lösung: Stelle sicher, dass du das richtige Ereignis (MouseDown) verwendest. Achte darauf, dass du den Code im richtigen Modul (UserForm oder Tabelle) einfügst.
  • Fehler: Der Text wird nicht bei Fokussierung markiert.

    • Lösung: Überprüfe, ob die TextBox korrekt ausgewählt ist und dass kein anderer Code die Fokussierung beeinflusst.

Alternative Methoden

Falls du eine andere Methode bevorzugst, kannst du die EnterFieldBehavior-Eigenschaft verwenden, jedoch hat sie nicht den gewünschten Effekt bei einem Mausklick. Sie funktioniert besser, wenn du mit der Tab-Taste zur TextBox navigierst.

Hier ist der Code für die Verwendung von EnterFieldBehavior:

Private Sub TextBox1_Enter()
    TextBox1.EnterKeyBehavior = False
End Sub

Praktische Beispiele

Hier sind zwei Beispiele zur Anwendung der obigen Codes:

  1. Markieren des Textes bei Doppelklick:

    Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
       TextBox1.SelStart = 0
       TextBox1.SelLength = Len(TextBox1.Text)
    End Sub
  2. Markieren des Textes beim Erhalt des Fokus:

    Private Sub TextBox1_GotFocus()
       TextBox1.SelStart = 0
       TextBox1.SelLength = Len(TextBox1.Text)
    End Sub

Tipps für Profis

  • Verwende SelStart und SelLength: Diese Eigenschaften ermöglichen dir eine präzise Kontrolle darüber, welcher Text in der TextBox markiert wird.
  • Teste deine Änderungen: Führe regelmäßig Tests durch, um sicherzustellen, dass dein VBA-Code wie gewünscht funktioniert.
  • Dokumentiere deinen Code: Gute Kommentare helfen dir und anderen, den Code später besser zu verstehen.

FAQ: Häufige Fragen

1. Wie kann ich den Text in einer TextBox bei einem Mausklick markieren? Um den Text zu markieren, kannst du das MouseDown-Ereignis in deinem VBA-Code nutzen.

2. Funktioniert das auch in Excel-Tabellen? Ja, die Methoden sind sowohl in UserForms als auch in Excel-Tabellen anwendbar, jedoch kann das Verhalten variieren.

3. Was ist EnterFieldBehavior und wie wird es genutzt? EnterFieldBehavior steuert das Verhalten der Enter-Taste in einer TextBox, hat jedoch keinen Einfluss auf das Markieren des Textes bei einem Mausklick.

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