Registriert seit: 02.01.2015
Version(en): 2010
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
02.01.2015, 11:28
(Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2015, 11:29 von RPP63.)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Registriert seit: 02.01.2015
Version(en): 2010
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