Anzeige
Archiv - Navigation
1892to1896
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA prüfen ob Zelle #NAME? enthält

VBA prüfen ob Zelle #NAME? enthält
15.08.2022 14:19:55
Florian
HI Leute,
ich will in meiner Schleife prüfen, ob eine Zelle den Eintrag #NAME? enthält und diese Zeile dann löschen. Leider funktionieren alle getesteten Varianten irgendwie nicht.
Das habe ich versucht:

For lngZeile = lngLetzteZeile To 2 Step -1
If wks.Cells(lngZeile, 1).HasFormula = True Or _
wks.Cells(lngZeile, 1).Text = "#NAME?" Or _
wks.Cells(lngZeile, 1).Text = "[#]NAME[?]" Then
wks.Rows(lngZeile).Delete shift:=xlUp
End If
Next lngZeile
Kann jemand helfen?
Danke Euch!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA prüfen ob Zelle #NAME? enthält
15.08.2022 14:43:54
ReginaR
Hi, prüfe so:

if wks.Cells(lngZeile, 1).Value = CVErr(xlErrName) Then
' Löschen
end if
Gruß Regina
AW: VBA prüfen ob Zelle #NAME? enthält
15.08.2022 14:49:47
Daniel
HI
setze mal den Cursor auf so eine Zelle mit dem Fehler und gib im Direktfenster ?Selection.Text ein.
Das was dann angezeigt wird, solltest du im Code verwenden, für den Vergleich mit "="
die klammern [] brauchst du, wenn du statt "=" mit LIKE vergleichst, weil bei LIKE das # der Joker für Ziffern und das ? der Joker für ein beliebiges Zeichen ist.
mit den [] macht man sie dann zu normalen Zeichen.
das .HasFormula mit OR einzubinden ist hier kontraproduktiv, denn damit löschst du dir alle Zeilen, die eine Formel haben.
Gruß Daniel
Anzeige
AW: VBA prüfen ob Zelle #NAME? enthält
15.08.2022 14:58:44
Florian
Crazy. Habe das gerade getestet.
Das Ergebnis war

####
Lag daran, weil die Spalte nicht breit genug war.
Jetzt läuft es auch mit diesem Code:

wks.Cells(lngZeile, 1).Text = "#NAME?" 
Das soll mal einer verstehen :D
AW: VBA prüfen ob Zelle #NAME? enthält
15.08.2022 15:39:53
Daniel
.Text ist der Zellwert, so wie er dir auf dem Bildschirm angezeigt wird.
das berücksichtig nicht nur das Zahlenformat, sondern auch die Spaltenbreite.
wenn du davon unabhängig sein willst, dann probiers mal mit

CStr(wks.Cells(lngZeile, 1).Value)= "Fehler 2029"
.Value ist der unformatierte Zellwert.
mit CStr machst du ihn dann selber zu einem Text, da der reine Fehlerwert wie ihn .Value zurückgibt sonst problematisch in der weiterverarbeitung ist.
aber bitte vorher selber prüfen, welches der genaue Text ist, den du brauchst.
Gruß Daniel
Anzeige
AW: VBA prüfen ob Zelle #NAME? enthält
15.08.2022 17:20:58
Florian
Ok verstehe. Vielen Dank! :)

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige