Hallo zusammen,
ich hoffe ihr könnt mir helfen meine Probleme bei meinem gebastelten VBA Programm zu beheben.
Ich habe folgendes Codefragment (siehe unten), welches die jeweilige Zeile löscht wenn 7 Bedingungen erfüllt sind. Dieser wird auf ein Worksheet mit ca. 8000 Datensätzen angewandt. Leider dauert der Codedurchlauf bei mir teilweise 5min und länger. Woran kann das liegen?
Beste Grüße
Reinhard
Function leere_merkmale_loeschen()
Dim tab_f As Worksheet
Dim matakt As String
Set tab_f = Worksheets("Beispieldatensatz")
With tab_f
For i = .Cells(3, 5).End(xlDown).Row To 3 Step -1
matakt = .Cells(i, 5).Value
Select Case matakt
Case Is = "Außendurchmesser" Or "Wandstärke" Or "Ovalität" Or "Exzentrizität"
Case Else
If .Cells(i, 6).Value = 0 Or .Cells(i, 6).Value = "" Then
If .Cells(i, 7).Value = 0 Or .Cells(i, 7).Value = "" Then
If .Cells(i, 8).Value = 0 Or .Cells(i, 8).Value = "" Then
.Rows(i).EntireRow.Delete
End If
End If
End If
End Select
Next
End With
End Function
|