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

Zeilehöhe per VBA extrem langsam

Zeilehöhe per VBA extrem langsam
08.03.2018 12:55:21
Jürgen
Hallo VBA-Profis
Ich brauche nochmal eure Hilfe!
Leider passt Excel (warum auch immer), die Zeilenhöhe nach dem sortieren(in der Tabelle) nicht mehr an.
So hab ich mir mit einem kleinen Makro beholfen.
Dieses ist allerdings extrem langsam.
Hättet Ihr eine Idee wie dieses Problem schneller erledigt wird?
Hier das langsame Makro:
Sub Zeilenhöhe_anpassen_Ambulant()
Application.ScreenUpdating = False 'Flackern ausschalten nicht vergessen
Dim I1 As Long
Rows("6:307").EntireRow.AutoFit
For I1 = 6 To 307
Rows(I1).RowHeight = Application.WorksheetFunction.Max(Rows(I1).RowHeight, 30)
Next
Application.ScreenUpdating = True 'Flackern ausschalten nicht vergessen
End Sub

Vielen Dank für eure tolle Hilfe
Beste Grüße
Jürgen

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilehöhe per VBA extrem langsam
08.03.2018 13:15:56
ChrisL
Hi Jürgen
Vielleicht etwas schneller...
Sub Zeilenhöhe_anpassen_Ambulant()
Dim I1 As Long
Application.ScreenUpdating = False 'Flackern ausschalten nicht vergessen
Rows("6:307").EntireRow.AutoFit
For I1 = 6 To 307
If Rows(I1).RowHeight 
cu
Chris
AW: Zeilehöhe per VBA extrem langsam
08.03.2018 13:23:53
Daniel
Hi
ganz einfach:
vergrößere in einer freien Spalte am Tabellenende den Schriftgrad so weit, dass die gewünschte Mindestzeilenhöhe von 30 schon mit einer Textzeile erreicht wird.
dann sollte das Rows("6:307").EntireRow.Autofit ausreichen und die Schleife kann entfallen.
das müsste dann auch schneller sein.
Eventuell kann damit sogar das Makro entfallen, weil du den Autofit ja auch schnell mit einem Doppelklick auf Rahmenlinien in Zeilenköpfen auslösen kannst.
ansonsten ist es in so fällen meist hilfreich, nur diejeinigen Zeilen zu verändern, die auch wirklich verändert werden müssen und nicht alle:
If Rows(I1).Rowheight 
Vielleicht hilft es ja auch was, nicht nur die Bildschirmaktualisierung auszuschalten, sondern auch die automatische neuberechnung der Formelln (application.Calculation)
Macht zwar auf den ersten Blick keinen Sinn, aber wer weiß schon, was Excel intern so alles macht.
Gruß Daniel
Anzeige
AW: Zeilehöhe per VBA extrem langsam
09.03.2018 00:56:53
Niclaus
Grüezi Jürgen
Ich hatte das gleiche Problem wie Du beim Zeilen ausblenden. Die Lösung war (dank Herber), mit den zu behandelnden Zeilen einen Bereich zu bilden und dann diesen Bereich in einem Zug auszublenden. Das Ausblenden wird bei mir jetzt im Nu erledigt. Ich habe mein Makro auf Deine Bedürfnisse umgeschrieben. Ich hoffe, das erledigt auch die Einstellung der Zeilenhöhe schneller.
Sub ZeilenHoehe()
Dim RaZeile As Range
Dim i As Long
Rows("6:307").EntireRow.AutoFit
For i = 6 To 307
If Rows(i).RowHeight 
Ich bin gespannt, ob das bei Dir auch hilft. Niclaus
Anzeige
AW: Zeilehöhe per VBA extrem langsam
09.03.2018 11:21:36
Jürgen
Hallo Niclaus
Vielen Dank für dein Hilfe!
Es ist um Welten schneller.
Vielen DAnk dür deine/eure Hilfe
Beste grüße
Jürgen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige