Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1324to1328
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

Zeilen ausblenden

Zeilen ausblenden
09.08.2013 07:20:36
Stefan
Hallo Zusammen,
bin gerade auf Office 2010 umgestellt worden :-)
Habe ein Macro in 2003 Version verwendet, welches mir die leeren Zeilen
ausblenden soll, und bisher auch super funktioniert hat.
Bei der 2010 Version bleibt er Minuten lang an dieser Stelle ohne Fehlermeldung hängen...
Application.ScreenUpdating = False
Dim rngBer As Range, rngC As Range
Application.ScreenUpdating = False
Set rngBer = Range("G31:G900")
For Each rngC In rngBer
If rngC.Value = 0 Then
Rows(rngC.Row).Hidden = True
ElseIf rngC.Value 0 Then
Rows(rngC.Row).Hidden = False
End If
Next
Application.ScreenUpdating = True
Hat jemand von euch das Problem vielleicht auch schon mal gehabt ?
Liebe Grüße
Stefan

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

Betreff
Datum
Anwender
Anzeige
das ist nicht ganz korrekt (leere Zeilen)
09.08.2013 07:41:40
Matthias
Hallo Stefan
Zitat:
Habe ein Macro in 2003 Version verwendet, welches mir die leeren Zeilen
ausblenden soll
, und bisher auch super funktioniert hat.

Das ist aber nicht korrekt.
Du blendest die Zeilen aus in denen in Spalte("G") eine 0 steht, oder keinen Inhalt hat.
Das ist ein kleiner aber wichtiger Unterschied.
Ich hab das Makro mal in XL2007 laufen lassen.
Gefühlte 1,5 Sek.
Ich glaube also nicht das es an diesem Makro liegt.
Gruß Matthias

AW: das ist nicht ganz korrekt (leere Zeilen)
09.08.2013 08:04:01
Stefan
Hallo Matthias,
ja hab ich vergessen zu erwähnen. Er sucht nur in den Zeilen 31 bis 900
und blendet dann aus, wenn in G nichts steht.
In meiner 2010 Version dauert dies nun ca. 7min !!!
Wenns nicht am Macro liegt, an was solls sonst liegen ? (Versteh ich nicht)
Gibt es ggf. eine andere Beschreibung um Zeilen auszublenden ?
Gruß
Stefan

Anzeige
AW: das ist nicht ganz korrekt (leere Zeilen)
09.08.2013 08:29:24
Stefan
Hallo nochmal,
gibt es ggf. die möglichkeit, wenn er eine leere Zelle in G gefunden hat, dass er dann alle restlichen
bis auf Zeile 900 auf einmal ausblendet ?
Gruß
Stefan

verwirrend
09.08.2013 08:36:08
Matthias
Hallo
Jetzt willst Du es genau andersrum ?
Zitat
wenn er eine leere Zelle in G gefunden hat, dass er dann alle restlichen
bis auf Zeile 900 auf einmal ausblendet.
Das bedeutet ja das Du jetzt beim ersten Fund einer leeren Zelle im Bereich alle anderen Zeilen bis au Zeile 900 ausblenden willst.
Du solltest Dich bitte eindeutiger ausdrücken!
Ich weiß ja nicht was Du meinst, wenn Du das nicht klar definierst.
Gruß Matthias

Anzeige
AW: verwirrend
09.08.2013 08:50:54
Stefan
Sorry Matthias,
ist vermutlich nicht mein Tag.
Also Macro sucht in Spalte G ab Zeile 31
Findet er 0 ,dann sollen alle Zeilen
bis 900 ausgeblendet werden.
Da es bister mit for next jede einzele Zeile gemacht wurde bräuchte ich was, welches
den ganzen restlichen Block bis 900 ausblendet...
Sorry
Stefan

SpecialCells(xlCellTypeBlanks)
09.08.2013 08:30:05
Matthias
Hallo
Kannst ja mal so probieren.
With Range("G31:G900").SpecialCells(xlCellTypeBlanks).Rows
.Hidden = True
End With
Gruß Matthias

AW: SpecialCells(xlCellTypeBlanks)
09.08.2013 08:56:54
Stefan
Hallo Matthias,
macro bleibt bei..
With Range("G31:G900").SpecialCells(xlCellTypeBlanks).Rows
stehen?
Gruß
Stefan

Anzeige
AW: SpecialCells(xlCellTypeBlanks)
09.08.2013 09:07:14
Luschi
Hallo Stefan,
mit 'SpecialCells(xlCellTypeBlanks)' habe ich regelmäßig meine Schwierigkeiten,
deshalb mache ich es so:

Sub zeilenAus()
Dim rngBer As Range, rngC As Range, _
rngEin As Range, rngAus As Range
getMoreSpeed True
Set rngBer = ActiveSheet.Range("G31:G900")
For Each rngC In rngBer
If rngC.Value = 0 Then
If rngAus Is Nothing Then
Set rngAus = rngC
Else
Set rngAus = Application.Union(rngAus, rngC)
End If
Else
If rngEin Is Nothing Then
Set rngEin = rngC
Else
Set rngEin = Application.Union(rngEin, rngC)
End If
End If
Next
If Not (rngEin Is Nothing) Then
rngEin.EntireRow.Hidden = False
End If
If Not (rngAus Is Nothing) Then
rngAus.EntireRow.Hidden = True
End If
Set rngBer = Nothing
Set rngC = Nothing
Set rngEin = Nothing
Set rngAus = Nothing
getMoreSpeed False
End Sub
Es werden zuerst die Zellen in je einem Range-Objekt gesammelt und dann ein- bzw. ausgeblendet.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: SpecialCells(xlCellTypeBlanks)
09.08.2013 09:59:05
Stefan
Hallo Luschi,
super jetzt funktionierts wieder in sekunden schnelle !!!!
Vielen Danke
Vielen Dank auch an Matthias !
:-)
Stefan

bei mir funzt es ...
09.08.2013 09:22:11
Matthias
Hallo
Leider kann ich Dir da nicht weitehelfen, bei mir klappt es ja alles.
Versuchs einfach mit Luschis Vorschlag.
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige