Zeilennummer für Filterergebnis ausgeben

Bild

Betrifft: Zeilennummer für Filterergebnis ausgeben
von: Frank
Geschrieben am: 04.11.2015 16:20:16

Hallo Experten,
ich komme bei folgendem Problem nicht weiter.
Per VBA habe ich in einer Tabelle nach Spalte A gefiltert und dann in Spalte B den größten Wert ermittelt.
'filtern nach Hauptnummer
ActiveSheet.Range("$A$10:$N$10000").AutoFilter Field:=1, Criteria1:="=" & frmEingabe.txtHauptNr, _
Operator:=xlAnd

' NebenNr ermitteln und ausgeben.
frmEingabe.txtNebenNr = Application.Subtotal(4, Tabelle1.Range("B11:B10000"))
Nun möchte ich die Zeilennummer des ermittelten größten Wertes ausgeben.
Kann mir da jemand helfen?
Danke schon mal im Voraus!

Bild

Betrifft: AW: Zeilennummer für Filterergebnis ausgeben
von: Werner
Geschrieben am: 04.11.2015 16:29:06
Hallo Frank,
das sollte doch mit

frmEingabe.txtNebenNr = Application.Subtotal(4, Tabelle1.Range("B11:B10000")).Row
funktionieren.
Gruß Werner

Bild

Betrifft: AW: Zeilennummer für Filterergebnis ausgeben
von: Frank
Geschrieben am: 05.11.2015 09:45:54
Hallo Werner,
das habe ich schon probiert, da kommt diese Fehlermeldung:
Laufzeitfehler: 424
Objekt erforderlich
Danke für die Hilfe.

Bild

Betrifft: AW: Dann ofen o.w.T.
von: Werner
Geschrieben am: 05.11.2015 10:49:25


Bild

Betrifft: 'SubTotal' liefert ja auch kein Objekt, sondern...
von: Luc:-?
Geschrieben am: 05.11.2015 18:14:57
…das, was die Container-Fkt Nr4 bereitstellt, Frank & Werner,
einen zellunabhängigen Ergebniswert. Der hat natürlich keine Eigenschaft .Row. So geht's also nicht! Aber so sollte es:

Dim wf As WorksheetFunction
Set wf = WorksheetFunction
With Tabelle1.Range("B11:B10000")
    frmEingabe.txtNebenNr = wf.Match(wf.Subtotal(4, .Value), .Value, 0) + .Row - 1
End With
Set wf = Nothing
Gruß, Luc :-?

Besser informiert mit …

Bild

Betrifft: AW: 'SubTotal' liefert ja auch kein Objekt, sondern...
von: Frank
Geschrieben am: 06.11.2015 10:22:04
Hallo,
noch mal vielen Dank für die Hilfe.
Leider kam auch hier die Fehlermeldung.
Vielleicht liegt es ja auch an meiner Unfähigkeit.
Jetzt habe ich aber eine Schleife so lange "vergewaltigt" bis es funktioniert hat.
With Tabelle1.Range("b11:b10000")
Set rngCell = .Find(frmEingabe.txtNebenNr.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not rngCell Is Nothing Then
strFirstAddress = rngCell.Address
Do
Zeile = rngCell.Row

Set rngCell = .FindNext(rngCell)
Loop While Not rngCell Is Nothing And rngCell.Address <> strFirstAddress
'Else


End If
End With
frmEingabe.txtNebenNr = Zeile
Programiertechnisch ist es sicher nicht einwandfrei, aber es funktioniert.
Gruß und schönen Dank noch mal.
Frank

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeilennummer für Filterergebnis ausgeben"