Ich erkläre mal wie folgt:
»Application.CountBlank(wks.Range("C3:C1048576")) «
Hier wird gezählt, wieviele leere Zellen im Bereich C3 bis C1048576 vorkommen.
Der Rückgabewert ist also eine Zahl.
»(1048576 - 22)«
Hier wird Deine Grenze berechnet.
22 weil: (20Einträge + 2 Überschriftenzeilen)
1048576 weil: Max Anzahl Zeilen in diesem Arbeitsblatt
« Application.CountBlank(wks.Range("C3:C1048576")) = (1048576 - 22) «
Hier werden die beiden "Rückgabewerte" miteinander verglichen.
Das Ergebnis kann entweder WAHR oder FALSCH sein.
(Beispiel: geh mal in Zelle A1 und schreibe =1=1; danach schreibst Du =1=0)
»Frage: gibt es einen Grund dies nicht von oben zu machen? und dabei die Vollen Zellen zu zählen?«
Kann man. Ich geh gern von max Grenzwerten aus.
Theoretisch könntest Du sogar nur in dem Bereich C3:C23 zählen lassen.
»Richtig?«
Wichtig ist:
- wiederhole Dich nicht im Code
- lagere sich wiederholenden Code, wenn möglich, aus
- bleibe kurz und kraftvoll im Code
- vermeide GoTo (Spaghetticode -> googlen)
- vermeide .Activate, .Select -> (googlen) -> brauchst Du nämlich selten bis nie und kostet Performance.
» Du siehst ich versuche es zu Verstehen.«
Das freut mich.
|