VBA letzte gefüllte Zeile (Formeln nicht berücksichtigen)
#1
Hallo zusammen,

ich hoffe ihr könnt mir wieder mal weiterhelfen.
Ich habe eine Datei in der bis Zeile 10.000 Formeln enthalten sind (aus Puffergründen weil die "Quelldatei" noch wächst).
Tatsächlich gefüllt (also mit Werten) sind dann nur ca. 2.000 Zeilen in der Quelldatei.

Ansonsten ermittle ich immer folgendermaßen die letzte Zeile:

Code:
loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)

In diesem Fall gibt mir das aber 10.000 zurück. Gibt es eine Möglichkeit tatsächlich nur die gefüllten Zeilen zu ermitteln?

Über diese Formel klappt es, aber ich würde das gern via VBA machen:

=MAX(WENN(ISTZAHL(VERGLEICH({"".-1E+307};A:A;-1));VERGLEICH({"".-1E+307};A:A;-1)))

Vielen Dank und lg

Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Top
#2
Hi Olli,

(20.08.2015, 15:10)friedensbringer schrieb: Über diese Formel klappt es, aber ich würde das gern via VBA machen:
=MAX(WENN(ISTZAHL(VERGLEICH({"".-1E+307};A:A;-1));VERGLEICH({"".-1E+307};A:A;-1)))

wenn ich wissen will, wie so was per VBA gemacht wird, dann kopiere ich die Formel in die Zwischenablage, starte die Makro-Aufzeichnung, kopiere die Formel in eine Zelle und beende die Aufzeichnung.

Nun siehst Du, wie die Formel in VBA heißt, diese Zeile kannst Du nun in Deinen Originalcode einfügen.
Top
#3
Hallo Olli,

vielleicht auch so? http://www.clever-excel-forum.de/thread-...l#pid22008

Gruß Uwe
Top
#4
(20.08.2015, 15:10)friedensbringer schrieb: =MAX(WENN(ISTZAHL(VERGLEICH({"".-1E+307};A:A;-1));VERGLEICH({"".-1E+307};A:A;-1)))

Hi Olli, warum hast du dir gerade die komplizierte Formel rausgesucht..?
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#5
Hallo,

1. wenn Du Deinen Wertebereich als Tabelle festschreibst, dann werden die Formeln in jede neue Zeile übertragen (STRG+T)
2. wenn Du auf leer prüfst, dann wird das nie was, da eine Zelle mit "" nicht leer ist. Wenn in den vorhergehenden Zeilen keine Zelle mit "" steht, könntest Du mit evtl. mit Find arbeiten, habe ich aber nicht getestet.
3. mit Formel kannst Du einfach mit VERWEIS oder VERGLEICH prüfen:

Code:
=verweis(9;1/(A:A<>"");Zeile(A:A))
=VERGLEICH("";A:A;0)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#6
(20.08.2015, 15:53)BoskoBiati schrieb: Hallo,
...
Code:
=VERGLEICH("";A:A;0)

Hallo Edgar, der VERGLEICH() hinkt... bei mir kommt da #NV...

... bei Text geht..:  =VERGLEICH("";A:A;-1)

... bei Zahlen ..: =VERGLEICH(-9^9;A:A;-1)

Oder eben der VERWEIS()...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#7
Hallo Jörg,

wenn ich davon ausgehe, dass der TE 10000 Zeilen mit Formeln befüllt hat, die erst einmal "" als Ergebnis bringen, dann sollte es kein #NV geben.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#8
Hallo zusammen,

vielen Dank für eure Vorschläge - werde einmal versuchen was ich davon am ehesten verwenden kann.

lg

Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Top
#9
Hallo Ralf,
Für die Formelaufzeichnung reicht es schon, in die Bearbeitungszeile zu gehen und ENTER zu drücken. Der TE hatte ja schon eine funktionierende Formel irgendwo drin. Wenn nicht, passt der Ansatz mit dem Kopieren natürlich.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste