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

<Enter> statt <Shift>+<Enter> in multiline Textbox

Forumthread: <Enter> statt <Shift>+<Enter> in multiline Textbox

<Enter> statt <Shift>+<Enter> in multiline Textbox
26.05.2004 16:19:08
Stefan
In multiline Textboxen, die man direkt in ein Excel-Sheet einbettet, kann man mit Shift+Enter einen Zeilenumbruch machen. Kann man das einstellen, dass auch nur Enter funktioniert?
Danke
Stefan
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: <Enter> statt <Shift>+<Enter> in multiline Textbox
26.05.2004 17:01:17
Matthias
Hallo Stefan,
also ne richtige Lösung ist das nicht, aber so wird beim Drücken von "Enter" ein Zeilenvorschub am Ende angehängt.
Leider auch, wenn der Cursor nicht am ende steht...
Ich weiß leider nicht, wie man die Cursorposition innerhalb der Textbox ermittelt.

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
TextBox1 = TextBox1 + Chr(10)
End If
End Sub

Gruß Matthias
Anzeige
AW: <Enter> statt <Shift>+<Enter> in multiline Textbox
26.05.2004 17:34:44
Nepumuk
Hallo Matthias,
mit Len(TextBox1) bekommst du die aktuelle Textlänge und mit TextBox1.SelStart die aktuelle Cursorposition im Text. Wenn Len(TextBox1) + 1 = TextBox1.SelStart, dann steht der Cursor am Ende des Textes.
Gruß
Nepumuk
AW: <Enter> statt <Shift>+<Enter> in multiline Textbox
26.05.2004 18:51:35
Matthias
Hallo Nepomuk,
irgendwie geht das aber nicht.
Je mehr Zeilenumbrüche schon in der Textbox sind, desto mehr kommt er mit der Ermittlung der Position durcheinander.
Ich habe dann mal als neuen Ansatz Application.SendKeys "+{RETURN})" versucht, aber da hängt er in einer Endlosschleife.
Auch mit EnableEvents = False.
Naja, ist ja eigentlich nicht mein Problem.
Grüße,
Matthias
Anzeige
AW: <Enter> statt <Shift>+<Enter> in multiline Textbox
26.05.2004 19:14:59
Nepumuk
Hallo Matthias,
jeder Zeilenumbruch besteht aus dem Zeichen Chr(13) und wird bei der Len - Funktion mitgezählt. Die reine Textlänge könnt mit Len und der Replace - Funktion ermittelt werden.
Gruß
Nepumuk
AW: <Enter> statt <Shift>+<Enter> in multiline Textbox
26.05.2004 19:41:13
Matthias
Hallo Nepomuk,
das ist mir klar, aber es geht trotzdem folgendes nicht:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim l As Long, pos As Long, t As String
If KeyCode = 13 Then
With TextBox1
l = Len(.Value)
pos = .SelStart
t = .Value
.Value = Left(t, pos) & Chr(10) & Right(t, l - pos)
.SelStart = pos + 1
End With
End If
End Sub

Funktioniert, wenn man in der 1. Zeile ist, später kommt irgendwie alles durcheinander :-(
Gruß Matthias
Anzeige
AW: <Enter> statt <Shift>+<Enter> in multiline Textbox
Stefan
Danke fuer den Hinweis auf SendKeys. Ich hab nochmal in der Hilfe zu SendKeys nachgelesen. Der folgende Code funktioniert:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If (KeyCode = vbKeyReturn) And (Shift = 0) Then
KeyCode = 0
SendKeys "+{ENTER}"
End If
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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