Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
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

ausdruck von wrapped text fehlerhaft

ausdruck von wrapped text fehlerhaft
wrapped
moin moin,
ich habe folgendes problem: in einer tabelle sind einige zellen (einzeln, nicht verbunden) mit 'wrap text' und zeilenhoehe auf 'autofit' formatiert. das problem tritt nur bei umgebrochenem text auf. beim normalen arbeiten sieht alles korrekt aus. excel ist mit allen updates versorgt.
druckt man (auch druckvorschau) die seite aus, erscheint die letzte zeile des umgebrochenen texts nur zur haelfte - zeilenhoehe ist nicht ausreichend.
das problem habe ich im netz mehrfach beschrieben gefunden, jedoch keinen loesungsansatz. ist anscheinend ein excel problem. alternativ sollten zb. die nutzer alle 80-100 zeichen ein manuelles Alt+Enter einfuegen. das ist aber unbefriedigend.
meine idee war nun in vba zu pruefen, ob in der zelle ein zeilenumbruch vorhanden ist und dann die zeilenhoehe zu vergroessern. da haenge ich nun fest. hat jemand eine idee, wie man das ausknobelt?
das hier funktioniert nicht: InStr(1, ActiveSheet.Range("B" & i).Value, vbLf)
auch vbCrLf, Char(10) und Char(13) geben nicht das gewuenschte ergebnis. rueckgabewert ist immer null
fuer ideen waere ich sehr dankbar.
myles

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ausdruck von wrapped text fehlerhaft
28.01.2010 12:08:27
wrapped
Hallo myles,
das kann nicht klappen; du suchst nach Umbruchzeichen, die es nicht gibt. Dies kannst du auch sehen: wenn du in eine Zelle z.B. eingibst: "dies ist ein langer text" und dann die Zelle mit Zeilenumbruch formatierst, ändert sich nichts; wenn du statt dessen einen manuellen Umbruch mit Alt - Enter ausführst, siehst du im Zellentext ein Rechteck in Höhe des manuellen Umbruches.
Ich würde deshalb als Workaround die Textlänge nehmen und davon abhängig die Zeilenhöhe festlegen, also was in der Art len(ActiveSheet.Range("B" & i).Text). Dazu musst du einfach mal experimentieren, das wird auch von der Spaltenbreite und der gewählten Schriftart abhängen.
Gruß von
Roland Hochhäuser
Anzeige
AW: ausdruck von wrapped text fehlerhaft
28.01.2010 14:44:24
wrapped
Hallo Roland,
danke fuer deine antwort. ich werde das mal so probieren. das ergebnis poste ich dann hier.
nochmal danke... :)
myles
AW: ausdruck von wrapped text fehlerhaft
28.01.2010 18:17:02
wrapped
Hallo, hier mal ein Ansatz:
Option Explicit
Function Zeilenhöhe(intChar As Integer) As Single
Const Standardhöhe As Single = 12.75!     ' "normale" Zeilenhöhe
Const Zeilenumbruch As Integer = 12       ' nach wieviel Zeichen soll "erhöht" werden ?
Zeilenhöhe = (Standardhöhe * (intChar \ Zeilenumbruch)) + Standardhöhe
If Zeilenhöhe > 409.5 Then Zeilenhöhe = 409.5   ' mehr geht nicht
End Function

Sub test()
With ActiveCell
.RowHeight = Zeilenhöhe(Len(.Text))
.WrapText = True
End With
End Sub

Du kannst ja solange mit den Konstanten herumprobieren, bis es einigermaßen passt.
Gruß
Roland Hochhäuser
Anzeige
AW: ausdruck von wrapped text fehlerhaft
28.01.2010 21:44:04
wrapped
Hallo,
wenn Du sowieso die Zeilenhöhe manuell festlegst (was den Nachteil hat dass die Zeile nicht automatisch wieder kleiner wird wenn Du den langen Text löschst) dann denke ich dass diese Variante etwas besser ist:
- Vergleiche jede Zeilenhöhe mit der "normalen" Zeilenhöhe (die Du aus der 1. Zeile abgreifst oder wie im obigen Bsp im Code festlegst)
- wenn eine Zeile eine grössere Höhe hat, dann steht wohl ein umgebrochener Text darin
- Erhöhe die Höhe dieser Zeile dann um 10 (oder 5 oder was weiss ich)

if rows(3).rowheight>rows(1).rowheight then rows(3).rowheight=rows(3).rowheight+10

Gruss- Micha
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige