For- Schleife: Variable bei to veränderbar?

Hi,

Ich kenne mich an und für sich recht wenig mit Programmieren aus, habe es aber doch irgendwie geschafft, halbwegs zum Ziel zu kommen. Halbwegs - weil ein Problem habe ich noch. Ich habe folgenden Code:

Frei1 = Range(„A2:A1000“).Find("").Address
g = Range(Frei1).Row

For s = 2 To g
If Left(Cells(s, 1), x) = Left(Cells(s + 1, 1), x) Then
If zae ": Cells(s + 1, 15) = „“: Cells(s + 1, 1) = g + 1
g = g + 1
zae = 0
s = s + 1
End If
Else
Rows(s + 1).Insert zae = 0: Cells(s + 1, 2) = „“: Cells(s + 1, 15) = „“: Cells(s + 1, 1) = g + 1
g = g + 1
zae = 0
s = s + 1
End If
Next s

Es sollen also nach bestimmten Kriterien neue Zeilen eingefügt werden, und zwar für alle nicht-leeren Zeilen. Wenn ich aber neue Zeilen einfüge, ändert sich die Anzahl der nicht-leeren Zeilen. Also habe ich versucht, diesen Wert zu verändern (Variable g). Die Ausführung geht aber trotzdem nur bis zum anfänglichen g. Wie könnte ich das lösen?

Danke im voraus,
Angela

Hi, Angela!

Ich weiß zwar nicht genau, was Du vorhast. Sieht so aus, als ob Du die erste leere Zelle in Spalte A suchst und bis zu dieser laufen willst. Wenn Du dann natürlich oben Zeilen einfügst, verändert sich Dein g.

Suche also nicht vorher, sondern überprüfe auf eine leere Zelle als Abbruchkriterium einer abweisenden oder nicht-abweisenden Schleife.

Zeile=Startzeile
Do While Trim(Cells(Zeile, 1))""
 ' Trim für Abbruch auch bei Eingabe von Leerzeichen, sofern möglich
 ' hier Dein Code mit dem Einfügen...

 ' Bitte beachte: Wenn die eingefügten Zeilen nicht überprüft 
 ' werden sollen (und für diese ggf. redundant Zeilen eingefügt
 ' werden sollen), musst Du die Variable Zeile um die Anzahl der
 ' eingefügten Zeilen erhöhen. Beispiel:
 Rows.Insert...
 Zeile=Zeile+1

 ' abschließend in die nächste Zeile...
 Zeile=Zeile+1
Loop

Gruß, Manfred

Hi,

nur zur Info,

gut daß deine variable g nicht in einer for - Schleife erhöht werden kann, du
könntest damit leicht eine endlos- Schleife programmieren.

übernimm die lösung von manfred.

Gruß
Gerald