Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Letzte Zeichen auslesen bei automatischen Umbruch

Letzte Zeichen auslesen bei automatischen Umbruch
01.05.2019 20:10:13
jan
Hallo,
ich habe ein Makro was mir eine Tabelle nach meinen Vorgaben formatiert. Ich bräuchte dafür noch eine Formatierung der Tabellenüberschriften.
Die Tabellenüberschriften stehen in Zeile 3 in jeweils einer Zelle. Dabei ist der automatische Textumbruch aktiviert. Es kann vorkommen das durch den automatischen Umbruch in der letzten „Zeile“ der Zelle nur 1 Buchstaben steht.
Zum Beispiel kann Zelle C3 so Aussieht
Eink
omme
n
Gibt es eine Möglichkeit die Anzahl der Buchstaben in der letzten „Zeile“ zu prüfen so das ich bei weniger als 3 Buchstaben die Spalte einfach etwas breiter machen kann damit es besser ausschaut?
Da es sich um einen automatischen Textumbruch von Excel handelt kann ich auch nicht nach Char(10) suchen und dann die Zeichen zählen. Ich habe leider nirgends etwas gefunden ob es für diesen Umbruch ein Zeichencode gibt.
Schon mal Danke für die Tipps
Jan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zum Einlesen
01.05.2019 21:05:56
jan
Hallo Fennek,
danke für den Link. Der hilft eventuell schon mal weiter, wobei es wohl nicht ganz so einfach wird. Über den Code in dem Beitrag kann ich die Anzahl an Umbrüchen auslesen. Im Beitrag wird gesagt das Randabstände und Zoomfaktor darauf Einfluss haben und zum Beispiel 5 Umbrüche da sind aber 6 über das Makro ermittelt werden. Ich schaue mal ob es dennoch funktioniert so wie ich mir das denke.
Falls noch jemand eine Idee hat bin ich Dankbar dafür gerne auch Links in Englisch.
Anzeige
AW: zum Einlesen
01.05.2019 21:25:50
jan
Noch mal danke Fennek für den Link ich hatte auf der zweiten Seite die Lösung übersehen.
Da wurde beschrieben wie man den Zeileninhalt mit Zeilenumbruch in eine Variable schreibt.
Mit dem folgenden Code bekomme ich die letzte Zeile ausgegeben bzw kann dann mit der weiterarbeiten auf Länge prüfen und Spaltenbreite gegebenenfalls anpassen.
    TeileDenText = Split(c00, Chr(10))
LetzteZeile = UBound(TeileDenText)
MsgBox TeileDenText(LetzteZeile)
Eventuell passt es nicht 100% aber es hilft mir schon mal weiter
AW: Gegenteil?
02.05.2019 10:17:33
Fennek
Hallo,
mein Learning des genannten Beitrags war, dass es keinen direkten Weg gibt. D.h. eine Lösung für dein Problem müßte durch wiederholtes Ausprobieren gefunden werden: Spaltenbreite etwas vergrößern und prüfen, ob sich die Zeilenhöhe ändert.
mfg
Anzeige
Das ganze Thema WYSIWYG ...
02.05.2019 10:40:19
lupo1
... ist und bleibt fast unlösbar. Vor allem gibt es
- von Windows zu Windows
- von Excel zu Excel
- von Screen zu Screen
- von Drucker zu Drucker
möglicherweise oder tatsächlich Abweichungen. Daher:
1) harte Umbrüche nehmen/erzeugen und dabei
2) genug Reserveplatz in der Zelle lassen
AW: Das ganze Thema WYSIWYG ...
02.05.2019 17:30:43
jan
Hallo,
Danke für die Rückmeldungen. Ich bin mir bewusst das es keine gute Lösung gibt aber soweit funktioniert es nun für mich.
Kurz zum Hintergrund ich bekomme aus einem Programm ein Excel Output und muss diesen aufbereiten. Darin sind teils bis zu 200 Tabellen enthalten. Die müssen Formatiert werden. Dabei gibt es Formatvorgaben für Schriftart und Größe. Daher kann ich leider keine harten Umbrüche setzen und habe bei den sonstigen Formaten auch wenig Möglichkeiten. Grundsätzlich passen 95% der Zellen und wenn ich bei den letzten 4,5% das hinbekommen das ich die Spalte etwas breiter mache so das nicht 1 Buchstabe alleine da steht passt das für mich. Wenn es in 0.5% der Fälle nicht geht ist es auch egal. Das ganze wird dann auch als PDF gespeichert da passt es dann auch mit den Format auf anderen Rechnern.
Anzeige
Warum überlässt du das Xl, ...
01.05.2019 23:49:29
Luc:-?
…Jan?
Das kannst du doch auch direkt steuern, egal, ob die Zeile wg ZeilenUmbruch höher wdn soll oder ob dann mehrere Zeilen verwendet wdn sollen. Komplizierter kann's natürlich wdn, wenn du umbrechen und gleichzeitig nur eine bestimmte MaxZeilenHöhe oder -Anzahl vorsehen willst oder gar von der SpaltenBreite abhängige automatische TextKürzungen vornehmen willst. Die SpaltenBreite kann dagg auch manuell korrigiert wdn, da das ja alle Texte in derselben auf einmal betrifft.
Im NormalFall wird HandArbeit nicht gänzlich zu umgehen sein, wobei die einfachsten Methoden Änderung von SchriftArt u/o -Größe bzw automatische Anpassung der SpaltenBreite sind. Außerdem kann man auch noch generell den Zoom-Faktor anpassen.
Mit Fmln - um die fraglichen TextKandidaten herum - kann man gewünschte Ergebnisse erzielen, wenn man gleich Trennzeichen in zu lange Texte einsetzt. Die könnten ggf auch relativ sein und damit besser fktionieren als das von Xl vorgesehene Sonderzeichen für beding­ten Trennstrich (das erzeugt bei Umbruch-Trennung nämlich keinen Trennstrich und ist auch sonst nicht sehr zuver­läs­sig, zumin­dest in Xl14/2010 nicht!).
Bsp für Trennung in mehrere Zeilen (plurale MatrixFml): {=MTRANS(SplitVx("Ein-kom-men";"-";1))}
Bsp für Umbruch in einer BlattZeile (größere ZeilenHöhe) …
→ 3 TextZeilen: =TxRows("Ein|kom|men";3;"|")
→ 2 TextZeilen: =TxRows("Ein|kom|men";6;"|")
UDF-Links:
SplitVx (Vs1.6) https://www.herber.de/bbs/user/84157.xls (BspDatei; Vs ohne Arg4 enthält wie Vs2.0 noch kleinen Fehler)
TxRows (Vs1.2) https://www.herber.de/cgi-bin/callthread.pl?index=1084680#1085532
Gruß, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige