Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten Top
#2
Hi Olli,

(20.08.2015, 14: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.
Antworten Top
#3
Hallo Olli,

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

Gruß Uwe
Antworten Top
#4
(20.08.2015, 14: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
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten 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.
Antworten Top
#6
(20.08.2015, 14: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
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten 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.
Antworten 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
Antworten 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)
Antworten Top


Gehe zu:


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