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

Ausblenden von Zeilen dauert zu lange

Ausblenden von Zeilen dauert zu lange
22.11.2018 10:36:21
Zeilen
Hallo alle zusammen
eine Frage habe ich bezüglich des Ausblendens von Zeilen!
Mit folgendem Code blende ich derzeit Zeilen aus, insgesamt hat das Sheet 120 Zeilen, ca 1000 Spalten. Das ausblenden klappt beim Aktivieren des Blattes auch prima, jedoch würde ich mir eine schnellere Abarbeitung wünschen. Leider muss man eben immer ein bisschen warten, bis alles aufgearbeitet wurde.
Hat jemand Verbesserungsvorschläge?
Danke bereits im Voraus
Private Sub Worksheet_Activate()
Dim Zelle As Range
Application.ScreenUpdating = False
For Each Zelle In ActiveSheet.Range("C15:C34,C36:C55,C57:C76,C78:C97,C99:C118")
If Zelle = 0 Then
Zelle.EntireRow.Hidden = True
Else
Zelle.EntireRow.Hidden = False
End If
Next Zelle
Application.ScreenUpdating = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
schalt die automatische Berechnung ab
22.11.2018 10:52:14
Matthias
Hallo
So wie Du die Bildschirmaktualisierung ausschaltest, kannst Du auch die Berechnung zu Beginn auf manuell setzen.
Wenn die Schleife durch ist stellst Du wieder auf Automatik.
Gruß Matthias
AW: schalt die automatische Berechnung ab
22.11.2018 10:54:27
Andy
Wie meinst du das Matthias ? Was muss ich wo auf Manuell setzen ?
AW: Ausblenden von Zeilen dauert zu lange
22.11.2018 10:53:08
Zeilen
und was in diesem Zusammenhang noch ganz schick wäre...
Die Zeilen, die ausgeblendet werden liegen innerhalb einer Gruppierung. Kann ich eine Zeile, die wie oben innerhalb einer Gruppierung zuvor ausgeblendet wurde, dauerhaft ausblenden? Nach demschließen und Öffnen der Gruppierung geht mir die ausgeblendete Zeile verloren, dh sie wird wieder angezeigt.
Anzeige
Application.Calculation ...
22.11.2018 11:03:45
Matthias
Hallo
So meine ich das ...
Private Sub Worksheet_Activate()
Dim Zelle As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each Zelle In ActiveSheet.Range("C15:C34,C36:C55,C57:C76,C78:C97,C99:C118")
If Zelle = 0 Then
Zelle.EntireRow.Hidden = True
Else
Zelle.EntireRow.Hidden = False
End If
Next Zelle
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub
Kannst ja mal Testen ob es dann etwas schneller geht.
Der Code selbst lässt sich auch noch verkürzen.
Gruß Matthias
Anzeige
AW: Application.Calculation ...
22.11.2018 11:06:24
Andy
Matthias du bist spitze, das hat geklappt. Vielen vielen Dank.
Kannst du mir für mein Verständnis noch kurz sagen, wass dieser Eintrag bewirkt ? man lernt ja gerne dazu....
und vl weißt du noch eine Idee für mein zweites Problem, zu dem ich leider auch nichts finden konnte
AW: Ausblenden von Zeilen dauert zu lange
22.11.2018 11:06:57
Zeilen
Hi
was steht den in den Zellen C35,C56,C77 usw?
eigentlich könnte man doch einfach den Autofilter einsetzen, außer diesen Zellen steht eine 0 und die Zelle muss trotzdem sichtbar bleiben.
ansonsten, wenn du bei reinem Code bleiben willst:
1. alle Zeilen gemeinsam einblenden.
2. die Zellen mit 0 per Union in einer Rangevariable sammeln und dann am Schluss alle gemeinsam ausblenden.
Das Problem in Excel ist, dass das Ein/Ausblenden einer Zeile genauso lange dauert, wie wenn du viele Zellen gemeinsam ein- oder ausblendet.
dh in etwa so
dim Bereich as range
dim Zelle as range
Range("15:118").entirerow.Hidden = false
For Each Zelle In ActiveSheet.Range("C15:C34,C36:C55,C57:C76,C78:C97,C99:C118")
If Zelle = 0 Then
if Bereich is nothing then
set Bereich = Zelle
else
set Bereich = Union(Zelle, Bereich)
end if
next
if not Bereich is Nothing then Bereich.EntireRow.Hidden = true
Gruß Daniel
Anzeige
AW: Ausblenden von Zeilen dauert zu lange
22.11.2018 11:25:56
Zeilen
Danke Daniel,
aber der Vorschlag von Matthias funktioniert perfekt.Der Autofilter ist keine Option, da eben 0 drinnen steht in den Feldern.
War nur noch das Problem mit den Gruppierungen. Eine unschöne Art und Weise der Ausblendung lässt sich nicht durch den Hidden-Befehl sondern durch das änder der Zeilenhöhe umgehen.... Solange keine andere Alternative in Sicht ist, nehme ich das
.RowHeight = 15
Der Autofilter ist keine Option. Da eben 0 drinnen steht in den Feldern.

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige