Letzte leere Zelle finden und Daten verarbeiten

Hallo Forum,

ich möchte folgendes tun.

In einer Tabelle soll in einer Spalte die letzte leere Zelle gesucht werden und davon wieder 8 abgezogen werden (die letzten 8 Zeilen sind immer die Legende).
Die gefüllten Zellen werden dann mit weiteren Anweisungen überprüft (Zählenwenn, etc.).
Wie bekommt man es hin, dass immer die aktuell letzte Zelle benutzt wird und nicht eine feste letzte Zelle?

=ZÄHLENWENN(Tabelle1!D4:smiley:XXX;0) 'XXX soll die letzte leere Zelle-8 sein.

Wäre über mögliche Lösungsansätze dankbar.

Gruß,
Christian

Hallo Christian,

setze folgendes Makro ein :

Sub letzte()

Dim intZeilenanzahl%
intZeilenanzahl = 0
intZeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

Cells(intZeilenanzahl + 1, 1).Activate : REM aktiviert in A die letzte Zeile

REM
'die + 1,1 aktiviert die erste unter A
'die + 2,1 aktiviert die zweite unter A
'die + 1,2 aktiviert die erste unter B
'die + 2,2 aktiviert die zweite unter B usw. usw

End Sub

du kannst immer die letzte freie Zeile ansprechen.
Hoffe dir geholfen zu haben.
Gruß Peter

Das ist glaube ich noch nicht ganz das was ich suche.

Bsp: In der Spalte D stehen von Zeile 4 bis zu einer unbekannten Zeile (so ist die Vorlage). Ich möchte jetzt wissen bis wohin die Daten gehen und auf alle Daten in D4-DXXX die Anweisung ZÄHLENWENN ausführen.

In einer Tabelle soll in einer Spalte die letzte leere Zelle
gesucht werden und davon wieder 8 abgezogen werden (die
letzten 8 Zeilen sind immer die Legende).
Die gefüllten Zellen werden dann mit weiteren Anweisungen
überprüft (Zählenwenn, etc.).
Wie bekommt man es hin, dass immer die aktuell letzte Zelle
benutzt wird und nicht eine feste letzte Zelle?
=ZÄHLENWENN(Tabelle1!D4:smiley:XXX;0) 'XXX soll die letzte leere
Zelle-8 sein.
Wäre über mögliche Lösungsansätze dankbar.

Hi Christian,
die zeilenanzahl minus 8 ermittelst du laut excelformeln.de mit folgender Matrixformel:
{=MAX((A1:A1000"")*ZEILE(1:1000))-8}
Dann mit indirekt oder bereich.verschieben oder so.
Gruß
Reinhard

Hallo Christian,

folgend Formel funktioniert, wenn von Zelle D4 abwärts bis zum Ende der Legende keine Leerzellen vorkommen

=ZÄHLENWENN(INDIREKT(„D4:smiley:“&ZEILE(Tabelle1!D4)-1+ANZAHL2(Tabelle1!D4:smiley:65000)-8);0)

beinhaltet der Datenbereich nur Zahlen und die Legende nur Texteintäge geht es auch mit dieser Formel.
=ZÄHLENWENN(INDIREKT(„D4:smiley:“&ZEILE(Tabelle1!D4)-1+ANZAHL(Tabelle1!D4:smiley:65000));0)

Wichtig: Beide Formeln funktionieren nur korrekt, wenn im Datenbereich bis zur untersten ausgefüllten Zelle keine Leerzellen vorkommen.

Gruß
Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Christian,

ich hatte in der Eile leider im ersten Teil der Formeln den Verweis auf die Tabelle vergessen:

=ZÄHLENWENN(INDIREKT(„Tabelle1!D4:smiley:“&ZEILE(Tabelle1!D4)-1+ANZAHL2(Tabelle1!D4:smiley:65000)-8);0)

bzw.

=ZÄHLENWENN(INDIREKT(„Tabelle1!D4:smiley:“&ZEILE(Tabelle1!D4)-1+ANZAHL(Tabelle1!D4:smiley:65000));0)

Wichtig: Beide Formeln funktionieren nur korrekt, wenn im Datenbereich bis zur untersten ausgefüllten Zelle keine Leerzellen vorkommen.

Diese Formel ist nicht besonders kopierfreundlich, da ein Teil als fester Text in der Formel vorliegt. Deshalb hier auch noch eine etwas kopierfreundlichere Version, die beim Kopieren auch Zellbezüge korrekt verarbeitet.

Tabellenblattname: Tab2

 F 
 1 Einfache Formel 
 2 3 
 3 Flexible, kopierfähige Formel 
 4 3 
 5 Formel für Zelladresse 
 6 Tab1!D$4:smiley:23 
 7 3. Argument für Bezugsart in Funktion ADRESSE 
 8 1 Absolut
 9 2 Zeile absolut; Spalte relativ
10 3 Zeile relativ; Spalte absolut
11 4 Relativ 
12 Formel für Tabellenname
13 Tab1

Benutzte Formeln:
F2: =ZÄHLENWENN(INDIREKT("Tab1!D4:smiley:"&ZEILE(Tab1!D4)-1+ANZAHL2(Tab1!D4:smiley:65000));0)
F4: =ZÄHLENWENN(INDIREKT(F6);0)
F6: =ADRESSE(ZEILE(Tab1!D4);SPALTE(Tab1!D4);2;WAHR;F13)&":"&ZEICHEN(SPALTE(Tab1!D4)+64)&ZEILE(Tab1!D4)-1+ANZAHL2(Tab1!D4:smiley:65000)
F13: =TEIL(ZELLE("Dateiname";Tab1!D4);FINDEN("]";ZELLE("Dateiname";Tab1!D4);1)+1;255)

Langversion für Formel in Zelle F4 ohne Zwischenwerte aus F6 und F13
=ZÄHLENWENN(INDIREKT(ADRESSE(ZEILE(Tab1!D4);SPALTE(Tab1!D4);2;WAHR; TEIL(ZELLE(„Dateiname“;Tab1!D4);FINDEN("]";ZELLE(„Dateiname“;Tab1!D4);1)+1;255))& „:“&ZEICHEN(SPALTE(Tab1!D4)+64)&ZEILE(Tab1!D4)-1+ANZAHL2(Tab1!D4:smiley:65000));0)

Gruß
Franz