Deine Lösung funktioniert für Deinen Fall wahrscheinlich nach außen hin so, wie Du es erwartest. Das große ABER ist jedoch ... On Error Resume Next überspringt alle auftretenden Fehler! Nicht nur die, für die Du Dir gedacht hast. Mit der Anweisung verliest Du die Kontrolle über Deinen Code. Deshalb sollte dieses Konstrukt nur sehr sparsam eingesetzt werden, wenn man genau weiß, was man macht, es keine andere Möglichkeit gibt und vor allem, sollte das Fehlerhandling nach der kritischen Stelle mit On Error GoTo 0 wieder eingeschaltet werden. In den allermeisten Fällen gibt es eine bessere Lösung. So auch hier.
Hier erstmal noch der Link zum On Error Mechanismus in VBA. Man kann den verwenden, um bestimmte Ausnahmesituationen zu behandeln und alternativen Code auszuführen oder das Makro kontrolliert zu beenden.
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/on-error-statement
Du willst aber lediglich in Zeile 3 anfangen. Das Problem im vorliegenden Makro besteht nun darin, dass die Schleife in Zeile 1 beginnt. Ändere die 1 also einfach in eine 3, denn der erste verarbeitete Wert der Schleife entspricht der Startzeile für die Operationen im Schleifenkörper:
'Startwert der For-Schleife von 1 auf 3 setzen
'Der Startwert ist hier gleichbedeutend mit der Zeile, ab der die Schleife arbeitet
'Der Bezeichner currRow ist mein Standardname für 'current row'. Also, 'aktuelle Zeile'
For currRow = 3 To .Cells(.Rows.Count, currCol).End(xlUp).Row
|