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

Sprung in

Sprung in
ChrisW
Hallo Leute,
ich möchte in einer Liste die mit Autofilter gefiltert ist die oberste sichtbare Zelle in Spalte P unter dem Filter ansprechen.
Wie mache ich das?
Range("P1").Select
ActiveCell.Offset(1, 0).Select
funktioniert nicht, sondern selectiert die unsichtbare Zelle "P2"
Meine Erste sichtbare Zelle ist aber aktuell "P5954" (aber das ändert sich natürlich laufend, je nach Filterung)
Also wie kann ich die Zelle P5954 auswählen?
Vielen Dank
Chris

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sprung in oberste sichtbare Zelle unter Filter
20.05.2011 15:06:37
ChrisW
Betreff ist nicht vollständig - sorry
Chris
Sprung in oberste sichtbare Zelle unter Filter
20.05.2011 15:27:37
ChrisW
Frage noch offen!!!!
oder so ...
20.05.2011 17:00:24
Matthias
Hallo
Wenn es im Filter z.B auch leere Zellen in Spalte(P) gibt,
dann Frage im Code ab ob die Zeile ausgeblendet ist.
z.B wenn Du nach "nicht leere Zellen" filterst, kann es vorkommen das mittendrin eine leere Zelle ist
Wenn nicht gefiltert ist würde der Code genau dorthin gehen.
Hast Du aber gefiltert, so wird diese leere Zelle mitten im Filter ignoriert (weil ausgeblendet)
Option Explicit
Sub ChrisW()
Application.ScreenUpdating = False
Dim C As Range
For Each C In Range("P:P")
If IsEmpty(C) And Rows(C.Row).EntireRow.Hidden = False Then
C.Activate
Exit For
End If
Next
End Sub
probier mal ob das so klappt.
https://www.herber.de/bbs/user/74948.xls
Userbild
Anzeige
AW: Sprung in
20.05.2011 19:54:40
Gerd
Hallo Chris!
Sub ungetestest()
Dim B As Range
With ActiveSheet
Set B = Intersect(.Columns("P:P"), .AutoFilter.Range).SpecialCells(xlCellTypeVisible)
If IsArray(.Range(B.Areas(1).Address)) Then
.Range("P2").Activate
Else
.Range(B.Areas(2).Address).Cells(1).Activate
End If
End With
End Sub
Gruß Gerd
getestet ... :o)
21.05.2011 07:37:57
Matthias
Hallo Gerd
die oberste sichtbare Zelle in Spalte P unter dem Filter
Ich glaube Du hast die Frage richtig verstanden.
Jetzt wo ich Deine Variante lese, hab sogar ich es ...
Ich dachte erst unter den gefilterten Daten.
Unter den gefilterten Daten, das wäre ja immer die gleiche Zelladresse.
Das hätte ich ja dann auch viel einfacher lösen müssen.
Falsch verstandene Frage auch noch falsch beantwortet. Asche auf mein Haupt.
Also ich denke Du hast die richtige Lösung gepostet ;o)
Userbild
Anzeige
Range(Range("xxx").Address)
22.05.2011 11:36:23
Rudi
Hallo,
das ist natürlich doppelt gemoppelt und ergibt wieder Range("xxx").Deshlb gleich damit arbeiten.
Sub getestet()
Dim B As Range
With ActiveSheet
Set B = .Columns("P:P").SpecialCells(xlCellTypeVisible)
If IsArray(B.Areas(1)) Then
B.Cells(2).Activate
Else
B.Areas(2).Cells(1).Activate
End If
End With
End Sub
Gruß
Rudi
AW: ...u. ganze Spalten filtern o.T
22.05.2011 13:52:34
Gerd
Gruß Gerd
Super, vielen Dank
23.05.2011 08:25:59
ChrisW
Hallo Leute,
vielen Dank, das mit den "SpecialCells(xlCellTypeVisible)" war genau das was mir gefehlt hat in meinen VBA (un)kenntnissen.
Super, Euch allen Vielen Dank
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige