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

Formel optimieren

Formel optimieren
Steffen
Hallo zusammen,
ich habe folgenden funktionierenden Code...
Sub ADM76103()
Sheets("76103").Cells.EntireRow.Hidden = False 'alles einblenden
'ausblenden
For i = 1 To 500
If Sheets("76103").Range("A" & i).Value = "" Then
Sheets("76103").Rows(i).Hidden = True
End If
Next
End Sub

Allerdings dauert mir das ganze noch zu lange und die begrenzung auf 500 Zeilen stört etwas.
habt Ihr noch Ideen wie man das ganze verbessern kann?
Vielen Dank
steffen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Formel optimieren
04.08.2009 12:08:25
Hajo_Zi
Halo Steffen,
löse es nach folgendem Prinzip
Sub Leerzeilen_loeschen()
'   alle Leerzeilen löschen
Dim LoI As Long
Dim RaZeile As Range
Application.ScreenUpdating = False
For LoI = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Application.WorksheetFunction.CountA(Rows(LoI))  ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If Rows(LoI).SpecialCells(xlCellTypeBlanks).Count = ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If RaZeile Is Nothing Then
Set RaZeile = Rows(LoI)
Else
Set RaZeile = Union(RaZeile, Rows(LoI))
End If
End If
End If
Next LoI
If Not RaZeile Is Nothing Then RaZeile.Delete
Application.ScreenUpdating = True
Set RaZeile = Nothing
End Sub

Anzeige
AW: Formel optimieren
04.08.2009 12:23:23
Steffen
Danke an euch beide!!
Die V3 Version habe ich gesucht ! :-)
Besten dank!!!
Spalten bedingt ausblenden
04.08.2009 12:16:29
Erich
Hi Steffen,,
drei Varianten (die erste ist langsam):

Option Explicit     ' IMMER ZU EMPFEHLEN
Sub ADM76103_V1()
Dim ii As Long
With Sheets("76103")
.Rows.Hidden = False                                        'alles einblenden
For ii = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(ii, 1).Value = "" Then .Rows(ii).Hidden = True 'ausblenden
Next
End With
End Sub
Sub ADM76103_V2()
Dim ii As Long
Application.ScreenUpdating = False
With Sheets("76103")
.Rows.Hidden = False                                        'alles einblenden
For ii = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(ii, 1).Value = "" Then .Rows(ii).Hidden = True 'ausblenden
Next ii
End With
Application.ScreenUpdating = True
End Sub
Sub ADM76103_V3()
Dim ii As Long, rngH As Range
With Sheets("76103")
.Rows.Hidden = False                                        'alles einblenden
For ii = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(ii, 1) = "" Then
If rngH Is Nothing Then
Set rngH = .Cells(ii, 1)
Else
Set rngH = Union(rngH, .Cells(ii, 1))
End If
End If
Next
If Not rngH Is Nothing Then rngH.EntireRow.Hidden = True    'ausblenden
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige