hab folgendes Problem mit folgendem Code:
Sub Nummauffuellen()
' hier wird eine Liste von nicht mehr als
' 9999 Zeilen angenommen. Man kann natürlich auch
' anders vorgehen, indem man ohne feste Listengrösse
' auskommt, dann weiss man aber nicht, wie gross die
' Variable "W" dimensioniert werden muss. Entweder vergrössert
' man sie dann durch "Redim", oder setzt sie gleich zu
' Anfang auf eine bestimmte Grösse. Dann kann man aber
' auch gleich dieses Makro hier ungeändert verwenden.
' Eine weitere Möglichkeit besteht darin, die errechneten
' freien Zahlen direkt in die entsprechenden Zellen zu
' schreiben. In diesem Falle müsste eine "Zeilenvariable"
' hochgezählt werden, was sicherlich zugunsten des
' Arbeitsspeichers wäre. Aber davon haben wir ja alle
' genug. :-)
Dim i As Integer
Dim Ende As Integer
Dim W(1 To 9999) As Integer
Dim Y As Integer
Dim x As Integer
Range("A2").Select
Ende = Application.WorksheetFunction.Max(ActiveCell.EntireColumn)
Zähler = 0
Y = 0
For i = 2 To Ende
If Cells(i, 1).Value = "" Then
Exit For
End If
Y = Cells(i - 1, 1).Value + 1
If Cells(i, 1).Value Y Then
Do
Zähler = Zähler + 1
W(Zähler) = Y
Y = Y + 1
Loop Until Y = Cells(i, 1).Value
End If
Next i
' Jetzt werden die freien Nummern in Spalte "B" geschrieben:
Range("B2").Select
For x = 1 To Zähler
Cells(x + 1, 2).Value = W(x)
Next
End
Sub
Hier meine Beispieldatei:
https://www.herber.de/bbs/user/54321.xls
Bei der Ausführung kommt es immer zu einem Laufzeitfehler 6, Überlauf!
Kann leider den Grund hierfür nicht finden, wäre toll wenn sich das jemand mal hier angucken kö _
nnte.
Gruß
Sascha