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

Automatische Zeilenhöhe auf Maximum begrenzen?

Automatische Zeilenhöhe auf Maximum begrenzen?
01.10.2014 08:02:39
Schmitty
Guten morgen zusammen.
In meiner Excel-Liste wird die Zeilenhöhe automatisch nach dem größten Zelleninhalt angepasst. Das ist auch soweit super.
Aber: Kann ich die automatische Zeilenhöhe auf max. 250 Pixel begrenzen?
Gruß
Christian

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Zeilenhöhe auf Maximum begrenzen?
01.10.2014 09:29:19
yummi
Hallo christian,
mal exemplarisch für reihe 3:

With Rows("3:3")
.AutoFit
If .Height > 187.5 Then   '187.5 entspricht 250 pixel
.RowHeight = 187.5
End If
End With
Gruß
yummi

AW: Automatische Zeilenhöhe auf Maximum begrenzen?
01.10.2014 12:48:25
Schmitty
Hallo Yummi,
danke für deine Antwort.
Leider sind jetzt alle Zeilen 187,5 groß, egal wieviel Inhalt in den Zellen steht...
Hier mal mein leicht abgewandelter Code:
 ' Automatische Zeilenhöhe
With Rows("6:2500")
.AutoFit
If .Height > 187.5 Then   '187.5 entspricht 250 pixel
.RowHeight = 187.5
End If
End With
Gruß
Christian

Anzeige
AW: Automatische Zeilenhöhe auf Maximum begrenzen?
01.10.2014 13:06:24
yummi
Hallo christian,
das liegt daran weil du mit with rows("6:2500" einen gesamtbereich festlegst. wenn du die zeilen einzeln betrachten willst, musst du so etwas machen z.B

for i = 6 to 2500
' Automatische Zeilenhöhe
With Rows(i)  'oder Rows(i & ":" i)
.AutoFit
If .Height > 187.5 Then   '187.5 entspricht 250 pixel
.RowHeight = 187.5
End If
End With
next i
Gruß
yummi

AW: Automatische Zeilenhöhe auf Maximum begrenzen?
01.10.2014 15:29:32
Schmitty
Hallo Yummi,
wenn ich
for i = 6 to 2500
' Automatische Zeilenhöhe
With Rows(i)
.AutoFit
If .Height > 187.5 Then   '187.5 entspricht 250 pixel
.RowHeight = 187.5
End If
End With
next i
schreibe, dann läuft das Makro und hört nicht mehr auf!
Schreibe ich alternativ
for i = 6 to 2500
' Automatische Zeilenhöhe
With Rows(i & ":" i)
.AutoFit
If .Height > 187.5 Then   '187.5 entspricht 250 pixel
.RowHeight = 187.5
End If
End With
next i
bekomme ich einen Syntaxfehler... :-/

Anzeige
AW: Automatische Zeilenhöhe auf Maximum begrenzen?
02.10.2014 07:03:03
Hajo_Zi
hast du es schon im Einzelschritt getestet, ca. 2500 Zeilen kann schon eine Weile dauern. Der erste Code ist korrekt.

AW: Automatische Zeilenhöhe auf Maximum begrenzen?
02.10.2014 07:26:46
Schmitty
Guten Morgen Hajo,
du hast recht. Ich habe den Code jetzt so umgebaut, dass er nur die Zellen 6 bis 200 prüft und das dauert ca. 15 Sekunden! Wenn ich das hochrechne bei meinen 2.500 Zeilen... Muss ich mir was anderes überlegen.
Wie kann ich es anstellen, dass der Code nur für die Zeile ausgeführt wird, in der ich gerade eine Änderung vorgenommen habe?
Gruß
Christian

AW: Automatische Zeilenhöhe auf Maximum begrenzen?
02.10.2014 07:36:06
Hajo_Zi
Hallo Christian,
das ist das Change Ereignis unter der Tabelle (Target.row)
Gruß Hajo

Anzeige
AW: Automatische Zeilenhöhe auf Maximum begrenzen?
02.10.2014 08:42:41
Schmitty
Hallo Hajo,
danke. Das Change Ereignis hatte ich auch schon im Sinn, jedoch habe ich im Moment das Problem, dass ich nicht weiß, wie ich es in meinem speziellen Fall einbauen soll.
Hier noch mal die Rahmenbedingungen:
Die Zeilenhöhe der Zeilen 6 bis 2.500 soll sich automatisch ändern, maximal aber bis 250 Pixel.
Ein Code habe ich ja dafür. Allerdings braucht es zu lange um immer alle Zellen so anzupassen.
Deshalb mein Wunsch: Sollte ich z. B. irgendwo in der Zeile 365 den Inhalt einer Zelle ändern, dann soll der Code für die automatische Zeilenhöhe auch nur für die Zeile 365 ausgeführt werden.
Das ist für meine bescheidenden VBA-Kenntnisse noch etwas zu hoch...
Gruß
Christian

Anzeige
AW: Automatische Zeilenhöhe auf Maximum begrenzen?
02.10.2014 08:49:53
Hajo_Zi
Hallo Christian,
Eingabe nur in einer Zelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 6 And Target.Row  187.5 Then   '187.5 entspricht 250 pixel
.RowHeight = 187.5
End If
End With
End If
End Sub
Gruß Hajo

AW: Automatische Zeilenhöhe auf Maximum begrenzen?
02.10.2014 10:33:13
Schmitty
Super!
Danke, jetzt funktioniert es problemlos!
Gruß
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige