Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

UserForm Textfeld Zeilenumbruch in Zelle
#1
Hallo Leute,

ich bin auf der suche nach einr Adequaten Lösung für ein Problem.

Ausgangslage:
Ich habe in meiner Exceltabelle eine große Zelle wo ich eine mehrzeilige Artikelbezichnung eintragen kann.
Die Artikelbezeichnung darf jedoch je Zele die Zeichenlänge von 70 nicht überschreiten. Ich habe daher versucht dies über einen Editor zu lösen.

Als Editor dient eine Userform mit Textbox. Ich habe die Textbox "soweit ich weiß" korrekt eingestellt was Zeilenumbrüche angeht.
EnterKeyBehavior=True, Multiline=True

Nun zum Schwerpunkt.
Ich möchte gerne das, entweder beim Schreiben in die Textbox oder spät. beim Einfügen des Textes in die Zelle, ein Automatischer Zeilenumbruch nach 70 Zeichen gesetzt wird.
Sobald ein Wort die maximale Anzahl der Zeichnen pro Zeile überschreitet soll der Umbruch bereits vor dem Wort stattfinden. Qausi so, das die Maximale Länge nicht überschritten werden kann.

Kennt Ihr da eine Lösung?

Vielen lieben Dank im Voraus
Antworten Top
#2
Moin!
Adäquater wäre es, die Zielspalte auf eine Breite von 70 zu setzen und den Zeilenumbruch zu aktivieren.
(schließlich bedeutet Breite 70, dass ungefähr 70 Zeichen der Standardschriftart hinein passen)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Marko120586
Antworten Top
#3
Schau mal hier, das sollte genau das sein, was du benötigst.[url=http://www.office-loesung.de/ftopic523139_0_0_asc.php][/url]
Schöne Grüße
Berni
Antworten Top
#4
(08.01.2021, 13:42)RPP63 schrieb: Moin!
Adäquater wäre es, die Zielspalte auf eine Breite von 70 zu setzen und den Zeilenumbruch zu aktivieren.
(schließlich bedeutet Breite 70, dass ungefähr 70 Zeichen der Standardschriftart hinein passen)

Gruß Ralf
Vielen Dank für die Antort.
Dies wäre dann jedoch (soweit ich weiß Wink) nur ein "Automatischer Umbruch" welcher bei CopyPaste in andere programme hinfällig wäre.
Ich muss den Text aber in andere Programme übertragen können bei bedarf, daher die Maximale Zeichnanzahl je Zeile.
Aber trotzdem nochmal Danke für die Idee
Antworten Top
#5
Dann hast Du ja einen prima Link von Berni erhalten.

Wie so häufig, ging in dem Thread die imo beste Lösung unter:
Losgehts aka Ulrich schrieb:

Sub TEST()
  Const DerText As String = "Über den leeren nächtigen Bäumen Hängen die schmächtigen Sterne, umdrängen den Mond im Kreise. Sehnsüchte leben auch in den prächtigen Himmelsräumen, und auch Gestirne kommen aus ihrem Geleise. Keine Sonne, kein Stein kann sich der Sehnsucht erwehren ..."
  Debug.Print MachUmbruch(DerText, vbNewLine)      'ins Direktfenster (Strg + G) schreiben
End Sub


Function MachUmbruch(ByVal strText As String, ByVal strUmbruch As String, Optional Laenge As Long = 75) As String
'Ulrich, April 2012
Dim strA As String, i As Long
strText = Trim(strText)
Do While Len(strText) > Laenge
  i = Laenge
  Do While Mid(strText, Sgn(i) * i, 1) <> " "
      i = i - 1
      If i = 0 Then i = i - 1
      If -1 * i > Len(strText) Then GoTo ENDE
  Loop
  strA = strA & Mid(strText, 1, Sgn(i) * i - 1) & strUmbruch
  strText = Mid(strText, Sgn(i) * i + 1)
Loop
ENDE:
strA = strA & strText
MachUmbruch = strA
End Function
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Marko120586
Antworten Top
#6
Super, vielen lieben Dank euch allen.
Das macht echt Spaß
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste