ich suche nach einer Möglichkeit in einer gefilterten Datei den Wert aus der nächsten Zeile zu übernehmen.
Hat jemand eine Lösung?
Danke
Thomas
Um in einer gefilterten Excel-Tabelle den Wert aus der nächsten sichtbaren Zelle zu übernehmen, kannst Du die folgende Excel-VBA-Methode verwenden. Diese Methode erfordert, dass Du Kenntnisse im Umgang mit Makros hast.
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
Füge den folgenden Code ein:
Sub NächsteSichtbareZelle()
Dim NächsteZelle As Range
Set NächsteZelle = ActiveCell.Offset(1, 0).Resize(1000).SpecialCells(xlCellTypeVisible).Cells(1, 1)
NächsteZelle.Activate
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Wähle die Zelle aus, von der Du die nächste sichtbare Zelle aktivieren möchtest.
Drücke ALT + F8, wähle NächsteSichtbareZelle und klicke auf Ausführen.
Fehler 1: "Laufzeitfehler 1004: Keine Zellen gefunden."
Lösung: Stelle sicher, dass Du Dich in einer gefilterten Liste befindest und dass es sichtbare Zellen gibt.
Fehler 2: "Makro funktioniert nicht wie erwartet."
Lösung: Überprüfe, ob Du die richtige Zelle ausgewählt hast und ob Filter korrekt gesetzt sind.
Eine alternative Methode ist die Verwendung von Formeln, um den nächsten sichtbaren Wert zu ermitteln. Wenn Du in Zelle A1 bist und den nächsten sichtbaren Wert in Spalte A erhalten möchtest, kannst Du die folgende Array-Formel verwenden:
=INDEX(A:A,AGGREGATE(15,6,ROW(A:A)/(SUBTOTAL(103,OFFSET(A:A,ROW(A:A)-MIN(ROW(A:A)),0,1)),1),1))
Diese Formel nutzt die Funktion AGGREGATE, um den nächsten sichtbaren Wert zu finden, auch wenn ein Autofilter aktiv ist.
Angenommen, Du hast eine Liste von Verkäufen gefiltert und möchtest den nächsten sichtbaren Verkaufspreis abfragen. Setze den Fokus auf die Zelle mit dem ersten sichtbaren Wert und führe das VBA-Skript aus oder benutze die Array-Formel.
Beispiel-Daten:
| A |
|---|
| 100 |
| 200 |
| (gefiltert) |
| 300 |
| 400 |
Wenn das Filterkriterium auf "größer als 150" gesetzt ist, würde die Formel den Wert 300 zurückgeben, wenn Du in der Zelle mit 200 bist.
SUBTOTAL-Funktion, um aggregierte Daten aus gefilterten Bereichen abzurufen.1. Kann ich die nächste sichtbare Zelle ohne VBA abrufen?
Ja, Du kannst dies mit der AGGREGATE-Funktion tun, wie im Abschnitt "Alternative Methoden" beschrieben.
2. Funktioniert das auch in Excel für Mac?
Ja, die beschriebenen Methoden funktionieren sowohl in Windows- als auch in Mac-Versionen von Excel, solange VBA unterstützt wird.
3. Was tun, wenn die Formel nicht das erwartete Ergebnis liefert?
Überprüfe, ob die Filter korrekt angewendet sind und ob es sichtbare Zellen in dem gewünschten Bereich gibt.