Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autofilterergebnisse anspringen

Autofilterergebnisse anspringen
06.12.2005 14:00:46
Paul
Hallo zusammen,
ich habe ein Problem das ich einen Autofilter über ein Macro setze und nach einem Kriterium suche. Nun möchte ich wenn gefiltert wurde die erste sichbare Zeile anspringen um deren Zeile rauszubekommen. Wenn man mit z.B. "ActiveCell.Offset" arbeitet springt er leider auch die unterdrückten Zeilen an und so nützt mir das nichts.
Wie ist so etwas also über ein Makro zu realisieren?
Danke schonmal für die Hilfe!
MfG
Paul

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilterergebnisse anspringen
06.12.2005 14:22:14
Hans
Hallo Paul,
wie folgt:

Sub FirstValue()
Dim iRow As Integer, iRowT As Integer
iRow = 2
Do Until IsEmpty(Cells(iRow, 1))
If Rows(iRow).Hidden = False Then
iRowT = iRow
Exit Do
End If
iRow = iRow + 1
Loop
MsgBox iRowT
End Sub

gruss hans
Vielen Dank, funktioniert perfekt!
06.12.2005 14:36:16
Paul
ohne Schleife
06.12.2005 15:24:35
Galenzo
MsgBox Union(Cells.SpecialCells(xlCellTypeVisible), Range("A1")).Row
AW: ohne Schleife - leider Fehler beim 1.Wert
06.12.2005 15:29:22
Galenzo
arrgghh...
da hab' ich nicht genug getestet - beim ERSTEN Wert der Liste wird ein falsches ergebnis angezeigt...
AW: ohne Schleife - HINTERGRUND?
07.12.2005 09:08:02
Galenzo
wie läßt sich dieser Fehler vermeiden
ich stelle die Diskussion mal offen.
Ich finde das ganz interessant, denn vom logischen her könnte man ja meinen, daß
MsgBox Cells.SpecialCells(xlCellTypeVisible).Row
ein richtiges Ergebnis liefern würde, oder?
Das ist aber nicht so. Erst die UNION mit einem weiteren Range liefert was (annähernde) richtiges.
MsgBox Union(Cells.SpecialCells(xlCellTypeVisible), Range("A1")).Row
Für mich zumindest sehr verwunderlich.
Wer weiß da genaueres drüber und trägt zur allgemeinen Aufklärung bei?
Anzeige
AW: ohne Schleife - HINTERGRUND?
07.12.2005 09:22:06
Hans
Hallo Galenzo,
der Aufruf liefert an und für sich das richtige Ergebnis, nur ist eben bei gesetztem Autofilter die erste Zeile sichtbar. Ist kein Autofilter gesetzt und die Zeilen sind einfach nur ausgeblendet, wird die korrekte Zeilennummer geliefert.
gruss hans
AW: ohne Schleife - HINTERGRUND?
07.12.2005 09:53:08
Galenzo
ja, das hört sich logisch an!
Aber mit der UNION geht es doch - hab' ich da noch einen Denkfehler?
AW: ohne Schleife - HINTERGRUND?
07.12.2005 10:12:40
Hans
Hallo Galenzo,
der folgende Code verdeutlicht den Ablauf:

Sub MyUnion()
Dim rng As Range, rngAll As Range
Set rng = Cells.SpecialCells(xlCellTypeVisible)
MsgBox rng.Address
Set rngAll = Union(rng, Range("A1"))
MsgBox rngAll.Address
MsgBox rngAll.Row
End Sub

Der Bereich rng umfassg (in dieser Reihenfolge) die Kopfzeile und danach die erste sichtbare Zeile, das Ergebnis ist also 1. Nach der Vereinigung wird die Reihenfolge umgekehrt. Im Prinzip ist es immer noch derselbe Bereich, allerdings in einer anderen Reihenfolge, deshalb ist das Ergebnis die erste sichtbare Zeile nach der Kopfzeile.
gruss hans
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige