VG,
Alex
vielen Dank für die schnelle Antwort.
Allerdings meinte ich wirklich Textbox (Textfeld).
Ich muss unter Zuhilfenahme einer Userform Text in dieses Feld durch den Benutzer eintragen lassen.
Dabei möchte ich vermeiden, dass, wenn der Benutzer ausser dem Text auch noch Leerzeilen in diese Textbox einfügt, diese beim Übertragen des Inhalts dieser Textbox in eine Zelle (mit Zeilenumbruch) übernommen werden.
Gruss Klaus
Um den Inhalt einer Textbox in einer Userform zu formatieren und Leerzeilen zu entfernen, kannst du den folgenden VBA-Code verwenden. Dieser Code prüft den Text in der Textbox und entfernt alle überflüssigen Leerzeilen, bevor der Text in eine Zelle übertragen wird.
Textbox1) sowie einen Button.Private Sub CommandButton1_Click()
Dim cleanedText As String
cleanedText = CleanText(Textbox1.Text)
Sheets("Tabelle1").Range("A1").Value = cleanedText
End Sub
Function CleanText(inputText As String) As String
Dim lines() As String
Dim result As String
Dim i As Integer
lines = Split(inputText, vbLf) ' Zeilenumbrüche im Text finden
For i = LBound(lines) To UBound(lines)
If Trim(lines(i)) <> "" Then ' Leere Zeilen ignorieren
result = result & lines(i) & vbLf
End If
Next i
CleanText = Trim(result) ' Entferne überflüssige Leerzeilen am Ende
End Function
Fehler: Der Text wird nicht korrekt in die Zelle übertragen.
Fehler: Leerzeilen werden nicht entfernt.
CleanText-Funktion und stelle sicher, dass vbLf (Zeilenumbruch) korrekt verwendet wird.Eine alternative Methode besteht darin, anstelle einer Userform eine einfache Eingabeaufforderung zu verwenden. Du kannst den Text auch direkt über eine InputBox abfragen und dann mit ähnlichem Code verarbeiten.
Sub InputBoxExample()
Dim userInput As String
Dim cleanedInput As String
userInput = InputBox("Bitte Text eingeben:")
cleanedInput = CleanText(userInput)
Sheets("Tabelle1").Range("A1").Value = cleanedInput
End Sub
Angenommen, du möchtest den Text aus der Textbox in die Zelle A1 auf "Tabelle1" übertragen, ohne Leerzeilen:
Benutzer gibt in die Textbox ein:
Dies ist ein Test.
Dies ist eine weitere Zeile.
Nach dem Drücken des Buttons wird in Zelle A1 folgendes stehen:
Dies ist ein Test.
Dies ist eine weitere Zeile.
Trim-Funktion, um führende und nachfolgende Leerzeichen zu entfernen, bevor du den Text verarbeiten.1. Wie kann ich die Textbox anpassen? Du kannst die Eigenschaften der Textbox im Eigenschaftenfenster der Userform anpassen, um beispielsweise die Schriftgröße oder -farbe zu ändern.
2. Funktioniert dieser Code auch in Excel 365? Ja, dieser VBA-Code funktioniert in Excel 365 sowie in anderen Versionen von Excel, die VBA unterstützen.