Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Letzte sichtbare Zelle berechnen

Letzte sichtbare Zelle berechnen
12.11.2018 20:20:34
Roland
Hallo,
ich habe diese Thema zwar schon mal ins Forum gestellt aber keine befriedigende Lösung gefunden.
Ich habe einen Tabellenbereich (A1:D26)(in Wirklichkeit viel größer...), in dem einige Zellen leer sind, einige Zeilen ausgeblendet sind und einige Zellen Text enthalten. Nun möchte ich die letzte sichtbare Zelle einer Spalte (abhängig von der Spaltenvorgabe in Zelle "E1") ermitteln und daraus einen Bereich ableiten. Das Ergebnis liefert die Matrixformel in "F1"
{="B2:D"&MAX(NICHT(ISTLEER(INDIREKT(E2&"1"):INDIREKT(E2&"27")))*ZEILE(INDIREKT("1:27"))+WENN(E2="a"; 1;0)) }
Diese Formel liefert aber nur die letzte gefüllte Zelle und berücksichtigt nicht die Sichtbarkeit der Zelle. Wie muss ich die Formel modifizieren damit die letzte sichtbare Zelle ermittelt wird?
Vielen Dank für jede Hilfe!!
Hier eine Beispieldatei:
https://www.herber.de/bbs/user/125346.xlsx
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte sichtbare Zelle berechnen
12.11.2018 21:01:17
Rainer
Hallo Roland,
ich denke, um mit nur sichtbaren Zellen zu rechnen kommst du um ein Makro nicht herum.
Was willst du denn genau berechnen?
Gruß,
Rainer
AW: Letzte sichtbare Zelle berechnen
12.11.2018 21:24:40
Roland
ein Makro wäre auch OK, ich will den sichtbaren Bereich definieren um in dann zu kopieren, damit ich die Leerzeilen abschneiden kann.
Anzeige
AW: Letzte sichtbare Zelle berechnen
12.11.2018 21:34:36
Rainer
Hallo,
also wäre in deiner Beispieldatei die letzte Zeile Nummer 6?
Rainer
Letzter Wert in einer gefilterten Liste
12.11.2018 21:39:31
WF
Hi,
hier betr. Spalte B mit folgender Arrayformel:
{=INDEX(B:B;MAX(TEILERGEBNIS(3;INDIREKT("B"&ZEILE(1:100)))*ZEILE(1:100)))}
Das andere, was Du wünschtst, musst Du dazufummeln.
WF
AW: Letzter Wert in einer gefilterten Liste
12.11.2018 22:27:54
Piet
Hallo
probier bitte mal zum Testen diesen Code aus. Würde mich freuen wenn es klappt.
Falls ja Thread bitte schliessen, Haeckchen nicht mehr aktivieren!
mfg Piet
Sub Test_LastZell()
Dim Bereich As String, LastZelle As String
Bereich = ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Address(0, 0)
LastZelle = Right(Bereich, Len(Bereich) - InStrRev(Bereich, ":"))
MsgBox LastZelle
End Sub

Anzeige
AW: Letzter Wert in einer gefilterten Liste
12.11.2018 22:55:53
Roland
Hallo erst mal danke!
Leider funktionieren sowohl die Formel als auch das Makro nicht so wie ich es brauche.
Es wird die letzte gefüllte Zeile (Makro) bzw. der Inhalt der letzten Zelle (Formel) angezeigt. Falls einige Zeilen am Ende ausgeblendet werden funktioniert das aber nicht. ich brauche aber die letzte sichtbare Zeile (die ausgeblendeten Zeilen sollen ignoriert werden)!
Anzeige
AW: Letzter Wert in einer gefilterten Liste
12.11.2018 23:37:07
Rainer
Hallo,
ich wiederhole meine Frage:
Wäre in deiner Beispieldatei die letzte Zeile Nummer 6?
Rainer
AW: Letzter Wert in einer gefilterten Liste
13.11.2018 00:02:58
Roland
Hallo Rainer, sorry ich habe deine Frage übersehen.
Ja, je nach Inhalt in Zelle E1 müsste das Ergebnis 6 (D) bzw. 20 (C) oder 26 (B) sein.
Gruß Roland
AW: Letzter Wert in einer gefilterten Liste
13.11.2018 09:23:21
Rainer
Hallo Roland,
so kannst du die letzte Zeile ermitteln:
Sub Letzter_Eintrag_in_Spalte()
letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
strSpalte = Range("E2")
SpaltenNr = Range(strSpalte & 1).Column
For i = letztezeile To 1 Step -1
If Not IsEmpty(Cells(i, SpaltenNr)) And _
Rows(i).Hidden = False Then Exit For
Next i
MsgBox "Letzte Zeile ist Nr. " & i
End Sub
Gruß,
Rainer
Anzeige
AW: Letzter Wert in einer gefilterten Liste
13.11.2018 13:08:16
Roland
Super, genau was ich brauche!
Danke!
AW: Letzter Wert in einer gefilterten Liste
13.11.2018 14:47:17
Rainer
Hallo Roland,
viel Spaß damit und danke für die Rückmeldung.
Das Häkchen musst du im Herber-Forum nur aktivieren, wenn das Problem noch nicht gelöst ist. Beiträge mit Häkchen erscheinen in der Rubirk "noch offen".
Gruß,
Rainer
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Letzte sichtbare Zelle in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um die letzte sichtbare Zelle in einer bestimmten Spalte zu ermitteln, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub Letzter_Eintrag_in_Spalte()
       Dim letztezeile As Long
       Dim strSpalte As String
       Dim SpaltenNr As Long
       strSpalte = Range("E2").Value ' E2 enthält die Spaltenbezeichnung
       SpaltenNr = Range(strSpalte & "1").Column
    
       letztezeile = Cells(Rows.Count, SpaltenNr).End(xlUp).Row
       For i = letztezeile To 1 Step -1
           If Not IsEmpty(Cells(i, SpaltenNr)) And Rows(i).Hidden = False Then Exit For
       Next i
       MsgBox "Letzte sichtbare Zeile ist Nr. " & i
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Setze in Zelle E2 die gewünschte Spaltenbezeichnung (z.B. "B", "C", "D").

  6. Führe das Makro aus, indem Du ALT + F8 drückst und das Makro auswählst.

Das Makro gibt die Nummer der letzten sichtbaren Zeile in der angegebenen Spalte aus.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Lösung: Stelle sicher, dass in Zelle E2 eine gültige Spaltenbezeichnung steht (z.B. "B", "C").
  • Fehler: Die Zeile wird nicht korrekt ermittelt

    • Lösung: Überprüfe, ob die Zeilen wirklich ausgeblendet sind. Das Makro ermittelt nur sichtbare Zeilen.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, gibt es auch eine Möglichkeit, die letzte sichtbare Zelle mit einer Matrixformel zu ermitteln. Du kannst die folgende Formel verwenden:

=INDEX(B:B, MAX((SUBTOTAL(3, OFFSET(B2, ROW(B2:B100)-ROW(B2), 0, 1)))*(ROW(B2:B100))))

Diese Formel berücksichtigt nur sichtbare Zellen und gibt den letzten Wert einer Spalte aus. Setze diese Formel in eine Zelle ein und drücke STRG + SHIFT + ENTER, um sie als Matrixformel zu aktivieren.


Praktische Beispiele

Angenommen, Du hast eine Tabelle in Excel mit Daten in den Spalten A bis D und einige Zeilen sind ausgeblendet. Um die letzte sichtbare Zelle in Spalte B zu finden, setze die Spaltenbezeichnung in E2 auf "B" und führe das oben beschriebene Makro aus. Das Ergebnis könnte 6 sein, wenn die letzten sichtbaren Daten in Zeile 6 stehen.


Tipps für Profis

  • Überlege, die Funktion SUBTOTAL anstelle von MAX zu nutzen, wenn Du mit gefilterten Listen arbeitest.
  • Nutze die SpecialCells-Methode, um nur die sichtbaren Zellen zu verarbeiten, was den Code effizienter macht.

FAQ: Häufige Fragen

1. Wie kann ich die erste sichtbare Zeile ermitteln?
Du kannst eine ähnliche Logik wie beim letzten Eintrag in der Spalte verwenden. Passe den VBA-Code entsprechend an.

2. Funktioniert das Makro in allen Excel-Versionen?
Ja, das Makro sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

3. Wie kann ich sicherstellen, dass alle ausgeblendeten Zeilen berücksichtigt werden?
Stelle sicher, dass Du die richtigen Filtereinstellungen und Sichtbarkeiten in Excel verwendest, damit das Makro korrekt funktioniert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige