Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bedingte Zeilenlöschung Fehler 13

Forumthread: Bedingte Zeilenlöschung Fehler 13

Bedingte Zeilenlöschung Fehler 13
28.06.2022 13:55:21
BriBri
Hallo,
ich habe erst vor kurzen mit VBA angefangen und kenne mich dementsprechend schlecht aus. Im Internet habe ich einen Code gefunden, der mir die Zeile löschen soll, wenn in Spalte D eine Null steht. Ich bekomme immer den Laufzeitfehler 13 und die Ausführung stoppt bei der Zeile If Cells(t, 4).Value = "0" Then
Kann mir jemand helfen, den Fehler los zu werden? In der Spalte D stehen bei mir Text, leere Zellen, Zahlen und Null.

Sub DeleteRows()
Dim lz As Long
Dim t As Long
' Zeilen löschen bei denen in Spalte D der Wert "0" ist
'** Ermittlung der letzten Zeile in Spalte A
lz = Cells(Rows.Count, 1).End(xlUp).Row
'** Durchlauf aller Zeilen
For t = lz To 2 Step -1 'Zählung rückwärts bis Zeile 2
'Abfragen, ob in Spalte 4 der Wert "0" ist
If Cells(t, 4).Value = "0" Then
Rows(t).Delete Shift:=xlUp
End If
Next t
End Sub
LG Brigitte
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Zeilenlöschung Fehler 13
28.06.2022 14:07:16
Daniel
Hi
die erste Frage wäre, wann genau kommt der Fehler in der Schleife, schon beim allerersten Umlauf oder erste später?
und wenn er kommt, welchen Wert haben die in dieser Zeile verwendeten Variablen zu Zellen?
Laufzeitfehler 13 könnte beispielsweise auch daher kommen, dass eine der Zellen einen Fehlerwert enthält (#NV, #Wert, #Div/0).
das könnte man aber einfach vermeinden, in dem man nicht Cells(...).value abfragt, sondern Cells(...).Text, zumal du ja sowieso auf den Text "0" prüfst und nicht auf die Zahl 0.
Gruß Daniel
Anzeige
AW: Bedingte Zeilenlöschung Fehler 13
28.06.2022 14:19:40
BriBri
Hi,
danke Daniel, der Hinweis mit #NV hat bereits geholfen. Ich hatte tatsächlich welche drinnen.
Wäre der Laufzeitfehler nicht gekommen, hätte ich auf die Zahl 0 abgefragt?
LG Brigitte
AW: Bedingte Zeilenlöschung Fehler 13
28.06.2022 14:30:21
Daniel
Nein, der Fehler kommt, weil VBA die Fehlerwerte aus den Zellen nicht verarbeiten kann.
das geht nur in speziellen funktionen wie IsError oder VarType.
wo man halt aufpassen muss, ob VBA zwischen Zahl und Text unterscheidet, dh ob es "0" das gleiche ist wie 0 oder nicht.
mit der Abfrage .Text statt .Value gibt es dieses Datentypproblem nicht, dann ist alles Text.
Allerdings braucht .Text bei großen Datenmengen etwas länger als .Value, weil es den Zellwert erstmal mit der Formatierung umwandeln muss.
Gruß Daniel
Anzeige
AW: Bedingte Zeilenlöschung Fehler 13
28.06.2022 19:00:32
BriBri
Danke dir. Wieder etwas dazugelernt.
LG Brigitte
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige