daten per vb filtern

Noctrom

Grünschnabel
tag auch

hab folgendes problem in meiner tabelle1 stehen datums angaben aus denen dann eine kw in einer seperaten Spalte erstellt werden. Da aber leider einige datensätze durch nen import falsch sind (z.b 31.2.2007) schlägt die formel für die kw natürlich fehl. Nun möchte ich per vb alle zeilen löschen lassen in der die kw formen nen #WERT! reingesetzt hat dazu gibts ja den befehl "ISERROR" nur leider nimmt er meinen code nich so an wie ich das gerne hätte:confused:


m=spaltenzahl

Sub filter()

Dim m
m = 2

While Sheets("Daten").Cells(m, 5).Value <> ""
If IsError(Sheets("Daten").Cells(m, 5).Value) Then
Rows("m:m").Select
Selection.ClearContents
Selection.Delete Shift:=xlUp
m = m + 1
End If
Wend
End Sub

sobald er mit den spalten auf eine zeile trifft in der nen fehler ist kommt jedoch "Laufzeitfehler 13, Typen unverträglich" und bricht ab an was kann das liegen?
 
Zunächst möchte ich Dich auf die Netiquette hinweisen:
Das gleiche gilt insbesondere für Beiträge, die in Rechtschreibung, Satzbau und Verständlichkeit nicht ein vernünftiges, allgemein übliches und altersgruppen-übergreifendes Niveau erfüllen. Jugendsprache, regional verbreitete Dialekte und durchgehend kleingeschriebene Beiträge sind ebenfalls unerwünscht. Mit anderen Worten: wer erfolgreich die im Deutsch-Unterricht erlernten Kenntnisse praxisnah auf unserem Forum anwenden kann, wird nicht mit dieser Regel in Konflikt kommen.

Dein Post ist nur sehr mühevoll zu lesen, deswegen hast Du bisher wohl auch noch keine Antwort.

Ansonsten kommt der Fehler 13 schon hier:
Code:
While Sheets("Daten").Cells(m, 5).Value <> ""
Wenn in einem Feld ein Error ist, hat dieser keinen Wert, der als Zeichenkette abgeprüft werden kann.

Das musst Du dann also wie folgt ändern:
Code:
If IsError(Sheets("Daten").Cells(m, 5)) Then
    'hier nun bearbeiten, denn hier ist der Fehler
End If

ronaldh
 
Zurück