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
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End Sub
Private Sub TextBox1_GotFocus()
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Private Sub TextBox1_Enter()
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
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
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.
ALT + F11
, um den VBA-Editor zu öffnen.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
Fehler: Der Text wird nicht bei einem Mausklick markiert.
MouseDown
) verwendest. Achte darauf, dass du den Code im richtigen Modul (UserForm oder Tabelle) einfügst.Fehler: Der Text wird nicht bei Fokussierung markiert.
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
Hier sind zwei Beispiele zur Anwendung der obigen Codes:
Markieren des Textes bei Doppelklick:
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1.Text)
End Sub
Markieren des Textes beim Erhalt des Fokus:
Private Sub TextBox1_GotFocus()
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1.Text)
End Sub
SelStart
und SelLength
: Diese Eigenschaften ermöglichen dir eine präzise Kontrolle darüber, welcher Text in der TextBox markiert wird.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen