Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.

Zeilen ausblenden
#1
Hallo zusammen,

ich hab eine Excel-Tabelle mit insgesamt 10.000 Zeilen. Ich will sie mir nun etwas übersichtlicher machen und all die Zeilen ausblenden, bei denen die Zellen in den Spalten E und J gleichzeitig leer sind.
Wie bekomme ich das hin?

Ich hoffe, es kann mir hier jemand helfen.

Vielen Dank
Markus
to top
#2
Hallo Markus,

schreibe in die nächste freie Spalte in der ersten Zeile unter der Überschrift (hier ab Zeile 2) diese Formel:
=LÄNGE(E2&J2)=0 und ziehe sie bis zur letzten Zeile runter.
Anschließend kannst Du per Autofilter nach dieser Spalte entsprechend filtern.

Gruß Uwe
to top
#3
Hallo,

oder per VBA z.B. so:

Code:
Option Explicit

Sub ausblenden()
    Dim i As Long
    Dim rngR As Range
    Rows.Hidden = False
    For i = 1 To 10000
        If Cells(i, 5) = "" And Cells(i, 10) = "" Then
            If rngR Is Nothing Then
                Set rngR = Rows(i)
            Else
                Set rngR = Union(rngR, Rows(i))
            End If
        End If
    Next i
                
    If Not rngR Is Nothing Then
        rngR.Rows.Hidden = True
        Set rngR = Nothing
    End If
End Sub
Gruß Atilla
to top
#4
Hallo attila!
Was spricht dagegen, Kuwes Vorschlag in VBA umzusetzen?
Dies dürfte, da ohne Schleife, erheblich schneller ablaufen:
Code:
Sub Schnell()
Dim ersteFreieSpalte As Long, letzteBenutzteZeile As Long
With Tabelle4    'anpassen!
   ersteFreieSpalte = .Range("A1").End(xlToRight).Column + 1
   letzteBenutzteZeile = .UsedRange.Rows.Count
   .Cells(1, ersteFreieSpalte).Value = "Temp"
   .Range(.Cells(2, ersteFreieSpalte), .Cells(letzteBenutzteZeile, ersteFreieSpalte)).Formula = "=len(E2&J2)=0"
   With .Columns(ersteFreieSpalte)
      .AutoFilter Field:=1, Criteria1:="FALSCH", VisibleDropdown:=False
      .Hidden = True
   End With
End With
End Sub
Man sollte die Formelspalte vorher noch sortieren, wenn nicht ausgeblendet sondern gelöscht werden soll.

Gruß, Ralf
to top
#5
Hallo Ralf,

Zitat:Was spricht dagegen, Kuwes Vorschlag in VBA umzusetzen?

Eigentlich....und "uneigentlich" auch gar nichts.

Natürlich ist das eine der schnelleren Methoden. Meine Variante ist aber auch nicht die Langsamste.

Ich wollte gerade mal Zeiten messen aber warum auch immer es werden immer alle Zeilen ausgeblendet obwohl im Filter nach "FALSCH" gefiltert angezeigt wird.

Ok, jetzt hab ich es. Per VBA muss wieder die englische Schreibweise genommen werden, bei mir jedenfalls.

.AutoFilter Field:=1, Criteria1:="FALSE"
Gruß Atilla
to top
#6
Hallo,

also die Lösung mit der Formel und dem Autofilter ist für meine zwecke ideal, da ich dann auch umgekehrt filtern kann, wenn ich wissen will, welche Zeilen in den jeweilgen Zellen noch keine Einträge haben.
Da ich insgesamt mehrere Tabellen mit 10000 Zeilen habe ist die VBA-Lösung für die Formel wohl das einfachste, dann muss ich nicht jedesmal die Formel manuell bis zur letzten Zeile herunterziehen.

Vielen vielen Dank für eure Hilfe!!

Markus
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste