Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenhöhe anpassen/richtig setzen

Zeilenhöhe anpassen/richtig setzen
11.08.2008 23:28:00
TommiH
Hallöchen,
ich kämpfe immer noch mit einem komische Problem.
Ich habe eine Exceldatei mit ca. 11000 Zeilen (Arial). Wenn ich diese Datei in der Vorschau anschaue, dann werden manchmal, besonders gerne bei umgebrochenen Texten, Teile einzelner Zellen abgeschnitten, also nicht eine ganze Zeile, sondern Teile EINER! Zeile (i.d.R. der letzten Zeile einer Zelle).
Das Selbe passiert, wenn ich die Datei in ein PDF-File schreibe. Kennt jemand das Problem?
Umgehen will ich es nun mit folgender Schleife:
For y = 1 To AnzZeilen
Rows(y).RowHeight = Rows(y).RowHeight * 1.2
Next y
Das funktioniert zwar, dauert aber EWIG :) - kann man das irgendwie mit einem Trick beschleunigen?
Noch besser wäre natürlich das Ausgabeproblem zu lösen, die Zeilen auf Zeilenhöhe zu optimieren klappt auf alle Fälle nicht. Und ich habe festgestellt, mit einem Courier-Zeichensatz wid das Problem kleiner/seltener. Aber weg geht es leider nicht ganz.
LG,
Thomas

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe anpassen/richtig setzen
11.08.2008 23:55:00
Ramses
Hallo
"...bei umgebrochenen Texten..."
Es gibt eine Limitierung der maximalen Zeichenzahl und der maximalen Zeilenhöhe.
Vielleicht findest du hier was entsprechendes
http://www.xlam.ch/xlimits/index.htm
Zum Beschleunigen vielleicht so
Rows("1:" & AnzZeilen).RowHeight = Rows("1:" & AnzZeilen).RowHeight * 1.2
Dann brauchst du keine Schleife
Gruss Rainer

AW: Zeilenhöhe anpassen/richtig setzen
12.08.2008 00:04:00
TommiH
Hallo Rainer,
hmm, diese Zeile Rows("... bewirkt bei mir allerdings nichts, kein Fehler, aber auch keine Aktion...
LG,
Tommi

Anzeige
AW: Zeilenhöhe anpassen/richtig setzen
12.08.2008 06:55:00
Erich
Hi Tommi,
dass sich da nichts tut, ist klar, wenn die Zeilen keine einheitliche Höhe haben.
Rows("1:" & AnzZeilen).RowHeight liefert dann Null (nicht 0).
Mit dem Code hat Rainer vermieden, dass unterschiedliche Zeilenhöhen unbeabsichtigt vereinheitlicht werden.
Wollte man das, wäre z. B. das hier ausreichend:
Rows("1:" & AnzZeilen).RowHeight = Rows(1).RowHeight * 1.2
Da du die unterschiedlichen Höhen wohl beibehalten willst (nur etwas höher),
ist eine Schleife erforderlich.
Dann stellt sich die Frage: Hast du bisher die Bildschirmaktualisierung ausgeschaltet?
Wenn nicht, probier mal z. B. das hier:

Sub test()
Dim lngAnz As Long, lngZ As Long
Dim Calc As XlCalculation
Calc = Application.Calculation: Beschleuniger xlCalculationManual
lngAnz = Cells(Rows.Count, 1).End(xlUp).Row
For lngZ = 1 To lngAnz
Rows(lngZ).RowHeight = Rows(lngZ).RowHeight * 1.2
Next lngZ
Beschleuniger Calc
End Sub
Sub Beschleuniger(StatCal As XlCalculation)
'Aufruf:
'   Dim Calc As XlCalculation
'   Calc = Application.Calculation: Beschleuniger xlCalculationManual
'   ....Code....
'   Beschleuniger Calc
Application.Calculation = StatCal
Application.ScreenUpdating = (StatCal  xlCalculationManual)
End Sub

Solche Beschleuniger gibts im Archiv etliche, schau hier auch mal nach GetMoreSpeed oder GMS.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Zeilenhöhe anpassen/richtig setzen
12.08.2008 06:59:00
Reinhard
Hi Tommi,
bist du da sicher? Probier dies mal:

Sub tt()
Dim AnzZeilen
AnzZeilen = 20
Rows("1:" & AnzZeilen).RowHeight = Rows("1:" & AnzZeilen).RowHeight * 1.2
MsgBox Rows(20).RowHeight
MsgBox Rows(21).RowHeight
End Sub


Oder so:
Rows("1:" & AnzZeilen).RowHeight = Rows(1).RowHeight * 1.2
Gruß
Reinhard

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige