ich habe ein Skript geschrieben, mit dessen Hilfe Zeilen gelöscht und neue aus einer anderen Arbeitsmappe hinzugefügt werden sollen. Eigentlich funktioniert(e) alles. Es scheint mir jedoch so, dass es ab einer größeren Menge von zu löschenden Zeilen ein Problem gibt.
Für das Löschen der Zeilen habe ich eine Funktion geschrieben. Nachdem das Makro eine Weile läuft erhalte ich wahlweise einen Laufzeitfehler -02147417848 (80010108)' oder Excel schließt sich irgendwann einfach komplett. Bis wohin das Makro dann schon gelaufen sein könnte, weiß ich nicht.
Der Code sieht so aus:
Function zeilen_loeschen(sht As Worksheet, spalte As Long)
Dim rng As Range
Dim lzeile As Long
lzeile = sht.Cells(Rows.Count, 1).End(xlUp).Row
With sht
Set rng = .Range(.Cells(1, 1), .Cells(lzeile, spalte))
With rng
.AutoFilter Field:=spalte, Criteria1:="angemeldet"
.Offset(5, 0).Resize(.rows.count - 5).SpecialCells(xlCellTypeVisible).rows.Delete
End With
With sht
.AutoFilterMode = False
If .FilterMode = True Then
.ShowAllData
End If
End With
End With
End Function
Call zeilen_loeschen(Mappe1, 39)
Das Workbook enthält ca 5000 Zeilen und davon müssen ca 40 gelöscht werden. Mit weniger zu löschenden Zeilen scheint es zu laufen.Ist im Code etwas suboptimal oder weiß jemand was der Laufzeitfehler bedeuten könnte?