Also erst mal zu
ws.Range("B2:" & LetzteA).Clear.Contents
Clear.Contents loescht Zellinhalte (und nur Inhalte). Der Bereich den ich anspreche zum loeschen ist B2:C und die letzte Zeilennummer in Spalte A, also B2:C8 z.B. Das war nur in meiner vorherigen Version, um den Bereich, wo Ergebnisse und Bereiche ausgegeben werden sollen, vorher zu bereinigen.
Zurueck zur Schleife:
Sorry, im Schleifenstart hatte ich einen Denkfehler. Es muss natuerlich heissen:
For i = 2 To LetzteA - Anzahl + 1
Also die 2 steht fuer die erste Zeile wo wir starten. Das ist Zeile 2, da Zeile 1 die Ueberschrift ist. Dann gehen wir bis zur letzten benutzten Zeile minus die Anzahl der Zahlen, die berechnet werden sollen, weil sonst kommen wir irgendwann zu einer Zeile (z.B. in Zeile 7), wo wir keine 4 Zahlen mehr haben zur Berechnung. Und +1, da ja die erste Zeile die Ueberschrift ist. Also soll die Schleife in Zeile 2 starten und die letzte Zeile in der Schleife soll dann sein 9 (die letzte befuellte Zeile) - 4 (Anzahl der Zahlen zur Berechnung), macht 5, +1 (Ueberschriftenzeile), macht am Ende 6. Also ist die letzte Zeile fuer die Schleife Zeile 6. Das ist die letzte Zeile von wo aus du noch 4 Zahlen zum Berechnen hast. Das einzige Problem hier ist, dass die Anzahl der Zahlen in Spalte A immer durch die Zahl in Variable "Anzahl" teilbar sein sollte. Also bei 4 immer 4, 8, 12, 16 usw. Bei 5 dann 5, 10, 15, 20 usw. Ich hoffe, du verstehst was ich meine.
|