Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
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
#NV löschen
08.06.2022 09:04:56
Sven
Hallo,
ich habe ein SVerweis Sub mittels "Makro aufzeichnen" erstellt.
Nun habe ich in den Zellen, in denen kein Wert verfügbar ist ein #NV stehen.
Wollte das über folgendes Makro eleminieren:
Cells.Replace What:="#NV", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:= _
False, FormulaVersion:=xlReplaceFormula2
Leider funktioniert es nicht wie erhofft.
Wenn ich es händisch über Strg+F -> alle ersetzten mache, fliegen die #NVs raus.
Kann mir jmd sagen, woran das liegt?
Danke vorab & Gruß,
Sven

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

Betreff
Datum
Anwender
Anzeige
VBA spricht englisch...
08.06.2022 09:10:21
{Boris}
Hi,

Kann mir jmd sagen, woran das liegt?
#NV ist im Englischen #N/A - danach musst Du per VBA suchen.
Aber weshalb unterbindest Du die #NV nicht gleich mit der Formel?
=WENNFEHLER(SVERWEIS(...);"")
VG; Boris
AW: #NV löschen
08.06.2022 09:10:44
Hardy
Hallo Sven,
es gibt zwei Möglichkeiten, packe um deine Formel ein =Wennfehler(....) oder mache eine Bedingte Formatierung und stelle als Schriftfarbe für #NV die Hintergrundfarbe ein.
Gruß
Hardy R
AW: #NV löschen
08.06.2022 09:24:49
Sven
Danke Boris und Hardy R für die schnelle Antwort!
Das mit #N/A wusste ich nicht. Wieder was gelernt.
Funktioniert sogar! Merci
Die WennFehler-Methode ist sicherlich die schickere.
Werde ich auch mal testen.
Gruß,
Sven
Anzeige
AW: #NV löschen
08.06.2022 10:10:43
Daniel
Hi
es gäbe noch eine Möglichkeit, die Zellen mit Fehler zu identifizieren und zu bearbeiten.
hierzu geht man über das START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE und kann dann die Selektion auf Zellen mit Fehlern einschränken, um diese dann zu leeren.
Dabei muss man nur noch entscheiden, ob man noch Formeln hat, oder ob man die Formeln schon durch Werte ersetzt hat.
in VBA sieht das dann so aus:

Cells.SpecialCells(xlcelltypeconstants, 16).ClearContents
dabei steht die 16 dann für Zellen mit Fehlerwert.
"xlcelltypeconstants" nimmt man dann, wenn man schon die Fixwerte hat
"xlcelltypeformulas" nimmt man, wenn man noch Formeln in den Zellen stehen hat.
diese Methode hat allerdings den nachteil, dass sie einen Fehlerabbruch erzeugt, wenn es keine entsprechende Zellen gibt, dh für deinen Fall, wenn alle SVerweise ein Ergebnis liefern.
daher sollte man das so erweitern, damit der Fehler nicht durchschlägt:

On Error Resume Next
Cells.SpecialCells(xlcelltypeconstants, 16).ClearContents
On Error Goto 0
wobei ich es auch bevorzugen würde, das Problem bei der Wurzel zu packen und den SVerweis mit WennFehler zu erweitern, so wie es die Kollegen schon vorgeschlagen haben.
Gruß Daniel
Anzeige

119 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige