vorletzte Reihe in gefilterter Tabelle

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: vorletzte Reihe in gefilterter Tabelle
von: RainerL
Geschrieben am: 05.10.2003 16:41:58

Hallo Forum,
komme selbst nicht weiter. Um in einer Tabelle die letzte Reihe zu finden, benutze ich:

r = ActiveCell.SpecialCells(xlLastCell).Row

msgbox Cells(r,1) zeigt mir den Inhalt der Zelle in Saplt A in der letzten Reihe an.
msgbox Cells(r-1,1) zeigt mir den Inhalt der vorletzten Zelle an.

Wie kann ich den Inhalt einer Zelle der vorletzten Reihe in einer gefilterten Tabelle auslesen?

Danke für Tips, Hiweise, Hilfe

Rainer

Bild


Betrifft: AW: vorletzte Reihe in gefilterter Tabelle
von: RainerW
Geschrieben am: 05.10.2003 17:36:55

Hallo Namensvetter :-)

so geht es bei mir Excel 9.0:


Sub test()
    Dim r
    r = ActiveCell.SpecialCells(xlLastCell).Row - 1
    MsgBox Range("A" & r) ' Wenn Spalte A sonst anderen Buchstaben
End Sub


Gruß Rainer


Bild


Betrifft: AW: vorletzte Reihe in gefilterter Tabelle
von: Holger Levetzow
Geschrieben am: 05.10.2003 17:52:29

das wird so nicht klappen! In r ist dann die zeile davor, nicht die Zeile des gefilterten Wertes davor (die wird wohl gesucht). Außerdem gibt die message den Wert der Zelle zurück.
Versuche mal:
1. Beispiel: nur die Zeilenummer des nächsten Wertes

Sub test()
r = ActiveCell.SpecialCells(xlLastCell).Row
'Adresse und Wert merken
adresse = Cells(r, ActiveCell.Column).Address
wert = Range(adresse).Value
'Inhalt löschen
Range(adresse).ClearContents
'neue letzte Zelle finden
r = ActiveCell.End(xlUp).Row
'Zelle wieder beschreiben
Range(adresse) = wert
End Sub

2. Beispiel: die Zeilennummern aller Werte (letzter wird z.B. 1 sein, wenn Spaltenüberschrift in Zeile 1 steht)

Sub alle()
Range("A65536").Select
Cells(ActiveCell.End(xlUp).Row, ActiveCell.Column).Select
r = ActiveCell.Row '1. Zelle mit Wert
While r > 1
    'Adresse und Wert merken
    adresse = ActiveCell.Address
    wert = ActiveCell.Value
    'Inhalt löschen
    ActiveCell.ClearContents
    'neue letzte Zelle finden
    Cells(ActiveCell.End(xlUp).Row, ActiveCell.Column).Select
    'Zelle wieder beschreiben
    Range(adresse) = wert
    r = ActiveCell.Row 'nächste Zelle mit Wert
Wend
End Sub

mfg Holger


Bild


Betrifft: Vorletzte Reihe in gefilterter Tabelle - Formel
von: Boris
Geschrieben am: 05.10.2003 22:32:16

Hi Rainer,

ich biete dir noch ne Formelvariante - bezogen auf Spalte A:

{=KGRÖSSTE(WENN(TEILERGEBNIS(3;INDIREKT("A"&ZEILE(1:100)));ZEILE(1:100));2)}

Array-Formel - die {geschweiften Klammern} nicht mit eingeben, sondern Formeleingabe mit Strg-Shift-Enter abschließen. Das erzeugt sie.

Mit (auch Array-Formel)

{=INDEX(A:A;KGRÖSSTE(WENN(TEILERGEBNIS(3;INDIREKT("A"&ZEILE(1:100)));ZEILE(1:100));2))}

erhälst du den zugehörigen Eintrag.

Grüße Boris


Bild


Betrifft: Danke!
von: RainerL
Geschrieben am: 06.10.2003 04:09:33

Danke für die Hilfe

Die Lösung von Holger Levetow funktioniert gut.
Die Lösung von Boris habe ich nicht probiert.

Rainer


 Bild

Beiträge aus den Excel-Beispielen zum Thema " vorletzte Reihe in gefilterter Tabelle"