Slette rækker hvis bestemte kolonner indeholder celler med #N/A
HejsaJeg arbejder i et stort regneark, hvor der nogle gange er mere end 30.000 rækker men det samme antal kolonner (fra A til AE). I kolonne Y til AE er der nogle faste formler, hvor resultatet i nogle celler vil være "#N/A". De tilhørende rækker vil jeg gerne have slettet og jeg har prøvet at bruge to forskellige koder. Begge to virker perfekt i regneark med få rækker (under 500). Men i det originale regneark crasher Excel og svarer ikke, så jeg må genstarte programmet.
Koderne jeg har brugt er følgende:
Sub Button3_Click()
Dim Lrow As Long
Lrow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Do While Lrow > 0
If IsError(Cells(Lrow, 25)) Or IsError(Cells(Lrow, 26)) Or IsError(Cells(Lrow, 27)) Or IsError(Cells(Lrow, 28)) Or IsError(Cells(Lrow, 29)) Or IsError(Cells(Lrow, 30)) Or IsError(Cells(Lrow, 31)) Then
Rows(Lrow).Delete
End If
Lrow = Lrow - 1
Loop
End Sub
OG
Sub Button3_Click()
Dim Lrow As Long
Dim i As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo Err_Desc
Lrow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = 2 To Lrow
If IsError(Cells(i, 25)) Or IsError(Cells(i, 26)) Or IsError(Cells(i, 27)) Or IsError(Cells(i, 28)) Or IsError(Cells(i, 29)) Or IsError(Cells(i, 30)) Or IsError(Cells(i, 31)) Then
Cells(i, 33) = 0
Else
Cells(i, 33) = 1
End If
Next i
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range( _
"AG1:AG" & Lrow), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("A1:AG" & Lrow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For i = Lrow To 2 Step -1
If Cells(i, 33) = 0 Then
Rows(i).Clear
Else
Exit For
End If
Next i
Range("AG1:AG" & Lrow).Clear
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Exit Sub
Err_Desc:
MsgBox Err.Description & " : " & Err.Number
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Jeg vil sætte stor pris på input til hvordan jeg kan undgå problemet med Excel, der ikke svarer.
På forhånd tak.