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.

Trennung von Sätzen in der Textbox nach Satzzeichen
#1
Liebes Forum,

ich benötige ein Codefragment zur Lösung einer für mich häufig gestellten Aufgabe mit Excel.

In meinen Excelzellen befindet sich häufig auch einiges an Text, dessen Sätze wie üblich mit Punkt,

Fragezeichen und Ausrufezeichen enden. Der besseren Lesbarkeit werden diese Texte nun mit einer Textbox


auf dem Bildschirm angezeigt. Die Aufgabe besteht nun darin, die einzelnen Sätze per CommandButton

zu trennen und in der Textbox untereinander darzustellen. Mit einem zweiten CommandButton, sollen dann die einzelnen


Sätze der Reihe nach untereinander in Excelzellen geschrieben werden, wobei der in den anderen Zellen

vorhandene Inhalt in der Spalte nach unten geschoben werden soll. - Ich hoffe ihr könnt mir helfen.

Annegret
Antworten Top
#2
Hallo Annegret,

wie kommen die Texte denn in die Textbox? Machst Du das per Formel oder hast Du da schon einen code? Wenn Du es per Formel machst, dann würde ein code die Formelbindung zerstören.
Wenn Du einen code hast, dann stelle Ihn bitte hier ein. Wir würden ihn dann so anpassen, dass die Zeilen gleich beim Einfügen getrennt werden.
Der erste Teil könnte z.B. so gehen:

Code:
'Textbox anwählen
ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
'Zelle zuweisen
Selection.Formula = "=A2"
'Punkte durch Zeilenumbrüche ersetzen
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Replace(Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text, ".", Chr(10))
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Code:
sub M_snb()
   cells.replace ". ","." & vblf
   cells.replace "? ","?" & vbLf
   cells.replace "! ", "!" & vblf
end sub
Antworten Top
#4
Hallo snb,

warum wartest Du erst auf Antworten anderer?!!  :@

Gruß Uwe
Antworten Top
#5
Hallöchen snb,

Die ganze Lösung ist das noch nicht. Die Texte sollten dann auch in der Spalte satzweise getrennt in Zellen eingefügt und eventuell vorhandene Inhalte nach unten geschoben werden. Wenn dann noch was kommt, dann ist es ok Smile Ich mach's ja auch nicht anders. Mit meiner schrittweisen Vorgehensweise hoffe ich, dass der TE auch was dabei lernt. Na ja, das ist Ansichtssache, da bin ich eben zuweilen so...

Der TE wollte Texte zur besseren Lesbarkeit in Textboxen. Eventuell sind die breiter, haben eine andere Schriftart o.ä. Daher stelle ich das erst mal nicht in Frage.

Kompliziert wird es dann, wenn 1. Satzzeichen im Satz kommen. Da kann man auch nicht einfach davon ausgehen, dass nach einer Zahl mit einem Punkt der Satz nicht aufhört. Manchmal jedoch tut er das. Am Ende steht z.B. eine 12. 2. Problem wäre dann, dass hier z.B. der 12.2. innerhalb eines Satzes entstehen würde. Eventuell will der TE solche Sachen in der Textbox korrigieren, bevor er bzw. das Makro die Daten einträgt und Zellen falsch verschiebt.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Ola Kuwer,

Warum wartest du nicht bis ich eine Antwort gegeben habe ? :19:
(deine verschwiegene Vorausstellung ist nicht korrekt)
Antworten Top


Gehe zu:


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