Hallo!
Habe in Problem mit einem Makro und habe keine Ahnung mehr und bin am verzweifeln.
Kurz zum Makro.
Wenn gewisse kriterien erfüllt sind, soll die gesamte Zeile auf ein anderes Tabellenblatt verschoben werden.
Seit heute zeigt mir der aber diesen Fehler an.
Laufzeitfehler '1004':
Keine Zellen gefunden
Sub Verschieben()
Dim arrBegriffe()
Dim lngErste As Long
Dim lngZeile As Long
Dim blnLoeschen As Boolean
Dim lngLetzte As Long
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
Application.ScreenUpdating = False
With Worksheets("Tabelle2")
lngErste = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) + 1
For lngZeile = 2 To lngLetzte
Select Case Cells(lngZeile, 18)
Case "Begriff1", "Begriff2", "Begriff3", "Begriff4"
' laufende Zeile Spalten A:T nach Tabelle2 kopieren
Range(Cells(lngZeile, 1), Cells(lngZeile, 20)).Copy .Cells(lngErste, 1)
' Spalte A laufende Zeile leeren
Cells(lngZeile, 1).ClearContents
lngErste = lngErste + 1
If blnLoeschen = False Then blnLoeschen = True
Case "Begriff5"
' nur wenn Spalte S nicht leer ist
If Cells(lngZeile, 19) <> "" Then
' laufende Zeile Spalten A:T nach Tabelle2 kopieren
Range(Cells(lngZeile, 1), Cells(lngZeile, 20)).Copy .Cells(lngErste, 1)
' Spalte A laufende Zeile leeren
Cells(lngZeile, 1).ClearContents
End If
lngErste = lngErste + 1
If blnLoeschen = False Then blnLoeschen = True
End Select
Next lngZeile
End With
If blnLoeschen Then
lngLetzte = Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
' alle Zeilen löschen, die in Spalte A leer sind
Range(Cells(1, 1), Cells(lngLetzte, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete shift:=xlUp
End If
Application.ScreenUpdating = True
End Sub
Bei dieser Zeile zeigt er mir den Fehler an:
Range(Cells(1, 1), Cells(lngLetzte, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete shift:=xlUp
Vielleicht hat jemand eine Idee warum! :)
Danke
Lg Patrick
|