Wie kann ich jede x-te Zeile einer Exceltabelle anzeigen lassen?
Hallo,
wie kann ich aus einer Tabelle mit ca. 14.000 Zeilen und ca. 25 Spalten nur noch jede 60. Zeile anzeigen lassen? Gibt es dafür eine passende Funktion?
8 Antworten
Vielleicht hilft das hier weiter?
http://www.ms-office-forum.net/forum/showthread.php?t=154302
Dann haben wir anderen Dein Problem wohl falsch verstanden.
Oder zu eng gesehen.
Kick and rush kann man das in VBA machen. Nicht schön aber selten ;)
Sub Verstecken()
Dim letztezeile As Variant
letztezeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
Rows("2:20000").EntireRow.Hidden = True
i = 61
Do
Rows(i).EntireRow.Hidden = False
i = i + 60
If i > letztezeile Then Exit Sub
Loop
End Sub
DH!
Nur würde ich letztezeile As Integer klassifizieren und mit i = 1 oder 2 anfangen.
quick und dirty in VBA. (Der Code ist nicht schön, aber sollte funktionieren)
Sub Makro1()
Dim letztezeile, von, bis, ende As Integer
letztezeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
Debug.Print letztezeile
ende = Round(letztezeile / 60, 0)
von = 1
bis = 59
For i = 1 To ende
Rows(von & ":" & bis).Select
Selection.EntireRow.Hidden = True
von = von + 60
bis = bis + 60
Next i
End Sub
Eine Möglichkeit wäre eine Hilfsspalte.
Schreib z.B. in Z1:
=Rest(=REST(ZEILE();60)=0
und kopiere das runter bis zum Ende Deiner Tabelle.
Dann steht in Z60, Z120, Z180 usw. immer WARH und in den anderen Zellen FALSCH.
Jetzt kannst Du den gesamten Bereich nach Spalte Z und dem Kriterium WAHR filtern.
Falls Deine Daten erst in Z.B. Zeile 5 beginnen, ziehst Du 5 ab:
=REST(ZEILE()-5;60)=0
sehe gerade bei der Formel ist mir ein Kopierfehler unterlaufen.
Es soll natürlich heißen;
=REST(ZEILE();60)=0
Die zweite Formel ist aber richtig.
Ok, dann zeige ich meine VBA-Version "der Vollständigkeit halber" ㋛ auch noch:
Sub Filter60()
Dim Zelle As Range
Application.ScreenUpdating = False
On Error GoTo ErrorHandler
UsedRange.EntireRow.Hidden = True
For Each Zelle In Range("A1:A" & UsedRange.Rows.Count)
If Zelle.Row Mod 60 = 0 Then _
Zelle.EntireRow.Hidden = False
Next Zelle
ErrorHandler:
Application.ScreenUpdating = True
End Sub
Hilfsspalte anlegen:
=WENN(GANZZAHL(ZEILE(A1)/60)=ZEILE(A1)/60;1;"")
dann nach nicht 1 filtern und den Rest löschen.
Ich probiers