Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text in Textbox an bestimmter Position einfügen?

Forumthread: Text in Textbox an bestimmter Position einfügen?

Text in Textbox an bestimmter Position einfügen?
11.11.2005 07:42:09
Oliver
Hallo an alle!
Ich hab mal wieder eine Frage. Kann man in einer TextBox eigentlich auch angeben, wo der Text eingegeben werden soll? Was ich meine, ich habe einen bestimmten Text in einer TextBox und möchte nun an einer bestimmten Position einen weiteren Text in den bereits vorhandenen Text einfügen. Was ich also bräuchte wäre der Code der an dem Punkt x (TextBox1.SelStart) einen Text einfügt. Ich komme da einfach nicht weiter.
Kann mir da jemand weiterhelfen.
Danke Euch schon mal wieder im Voraus für die Hilfe,
Oliver
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Textbox an bestimmter Position einfügen?
11.11.2005 07:54:51
Unbekannter
So.Und wenn du abstand dazwischen willst musst du einfach ein paar Leerzeichen einfügen
Textbox1.text=textbox1.text & "Dein neuer Text"
Gruß
Das war's leider nicht!
11.11.2005 08:07:50
Oliver
Hi Unbekannter Nummer Eins,
danke Dir für Deine Antwort, aber die bringt mich nicht weiter. Bei Deinem Coe wird der Text hinten an den Bereits vorhandenen Text angehängt. Das ist aber nicht dass was ich wollte. Ich will mitten in einem vorhandenen Text an einer bestimmten Position, die ich vorher mit dem Coursor festlege, in dem ich an der Stelle wo eingefügt werden soll, mit der Muas klicke, einen vorher definierten Text einfügen. Also nicht vorne weg oder hinten dran, sondern mittendrin. Die Position bekomme ich mit TextBox1.SelStart heraus, aber ich weiß jetzt nicht, wie ich jetzt sagen kann, dass er ab dieser TextBox1.SelStart-Position den Text einfügen soll.
Eine Idee?
Danke Dir noch mal,
Oliver
Anzeige
AW: Das war's leider nicht!
11.11.2005 08:25:39
Unbekannter
So weit ich weiß gibt es so was für Textboxen nicht.Das heißt nicht das es nicht geht aber ich habe mich mit sowas noch nicht befasst und kann dir daher jetzt auch nicht helfen.sry
AW: Das war's leider nicht!
11.11.2005 08:39:12
Oliver
Hi Unbekannter Nummer Eins,
schade, aber eventuell hat ja noch jemand anderes einen Tipp für mich.
MfG,
Oliver
Anzeige
AW: Das war's leider nicht!
11.11.2005 13:02:34
Heiko
Hallo Oliver,
z.B. so:

Private Sub CommandButton1_Click()
' Für eine Textbox (Textbox1) in einem Userform, Position mit der Maus/Cursor markiert.
Dim strEinfuegetext As String
strEinfuegetext = "Hallo"
Me.TextBox1.Text = Left(Me.TextBox1.Text, Me.TextBox1.SelStart) & strEinfuegetext _
& Right(Me.TextBox1.Text, Len(Me.TextBox1.Text) - Me.TextBox1.SelStart)
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Text in Textbox an bestimmter Position einfügen


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und stelle sicher, dass du ein Userform mit einer Textbox (z.B. TextBox1) hast.

  2. Füge einen CommandButton in dein Userform ein, um den Code auszuführen.

  3. Doppelklicke auf den CommandButton, um den VBA-Editor zu öffnen.

  4. Füge den folgenden Code ein, um an einer bestimmten Position Text in die Textbox einzufügen:

    Private Sub CommandButton1_Click()
       ' Der einzufügende Text
       Dim strEinfuegetext As String
       strEinfuegetext = "Hallo"
       ' Text an der Cursorposition einfügen
       Me.TextBox1.Text = Left(Me.TextBox1.Text, Me.TextBox1.SelStart) & strEinfuegetext _
       & Right(Me.TextBox1.Text, Len(Me.TextBox1.Text) - Me.TextBox1.SelStart)
    End Sub
  5. Schließe den VBA-Editor und teste dein Userform. Klicke an die gewünschte Stelle in der TextBox, um den Text einzufügen.


Häufige Fehler und Lösungen

  • Problem: Der Text wird nicht an der gewünschten Position eingefügt.

    • Lösung: Stelle sicher, dass die SelStart-Eigenschaft korrekt ausgelesen wird, bevor der Text eingefügt wird.
  • Problem: Der eingefügte Text erscheint nicht.

    • Lösung: Überprüfe, ob die Textbox richtig benannt ist (z.B. TextBox1). Achte auch darauf, dass der Code im richtigen Ereignis (z.B. beim Klick auf den CommandButton) ausgeführt wird.

Alternative Methoden

Falls du mit Textboxen in Word arbeitest und eine ähnliche Funktion benötigst, kannst du den folgenden VBA-Code verwenden:

Sub TextAnBestimmterStelleEinfügen()
    Dim txtBox As Shape
    Set txtBox = ActiveDocument.Shapes("TextBox1")
    Dim strEinfuegetext As String
    strEinfuegetext = "Hallo"

    txtBox.TextFrame.TextRange.InsertAfter strEinfuegetext
End Sub

Diese Methode funktioniert ähnlich und erlaubt es dir, Text in eine TextBox in Word an einer bestimmten Stelle einzufügen.


Praktische Beispiele

  1. Benutzerdefinierte TextBox: Du kannst eine TextBox für die Eingabe von Namen erstellen und den Text "Willkommen" an einer bestimmten Stelle einfügen.

    Private Sub CommandButton1_Click()
       Dim strEinfuegetext As String
       strEinfuegetext = "Willkommen "
       Me.TextBox1.Text = Left(Me.TextBox1.Text, Me.TextBox1.SelStart) & strEinfuegetext _
       & Right(Me.TextBox1.Text, Len(Me.TextBox1.Text) - Me.TextBox1.SelStart)
    End Sub
  2. Textformatierung: Du kannst auch Formatierungen wie Fettdruck oder Kursivschrift auf den eingefügten Text anwenden, wenn du mit RichTextBoxen arbeitest.


Tipps für Profis

  • Verwende SelLength: Wenn du den bereits vorhandenen Text an der Cursorposition ersetzen möchtest, kannst du die SelLength-Eigenschaft nutzen, um die Anzahl der Zeichen zu bestimmen, die ersetzt werden sollen.

  • Eingabevalidierung: Implementiere eine Eingabevalidierung, um sicherzustellen, dass der Text, den du einfügen möchtest, keine unerwünschten Zeichen enthält.

  • Testen in verschiedenen Excel-Versionen: Achte darauf, dass der Code in verschiedenen Versionen von Excel getestet wird, da einige Funktionen zwischen Versionen variieren können.


FAQ: Häufige Fragen

1. Wie kann ich den eingefügten Text formatieren?
Du kannst den Text formatieren, indem du in einer RichTextBox arbeitest oder VBA-Formatierungsbefehle verwendest.

2. Ist dieser Code auch in Excel 365 anwendbar?
Ja, der Code funktioniert auch in Excel 365 und anderen Versionen, die VBA unterstützen. Achte jedoch darauf, dass die Benutzeroberfläche gleich bleibt.

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