Clever-Excel-Forum

Normale Version: #WERT! mittels VBA ersetzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

kann mir eventuell jemand sagen wie ich #WERT! in Zellen mittels VBA ersetzen kann?

So klappt es leider nicht.

Code:
Cells.Replace What:="#WERT!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

Ich kann mich irgendwie dunkel dran erinnern, dass man bei #NV in VBA #N/A oder so schreiben musste.

Habe es auch mal gegoogelt aber leider nicht gefunden.

Wäre auch interessant wie das generell bei Fehlermeldungen funktioniert also auch #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, oder #NULL!.

Danke und lg

Oliver

PS: Ja ich weiß, dass solche Fehler besser gar nicht vorkommen sollten... Wink

Hallo zusammen,

habe es soeben doch noch selbst hinbekommen, manchmal steht man einfach auf der Leitung.

https://support.microsoft.com/de-de/offi...f3e417f611

Code:
    Cells.Replace What:="#NA", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Cells.Replace What:="#VALUE!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Cells.Replace What:="#REF!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Cells.Replace What:="#DIV/0!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Cells.Replace What:="#NUM!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Cells.Replace What:="#NAME?", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Cells.Replace What:="#NULL!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

Vielleicht hilft es ja jemand anderem weiter.

Lg

Oliver
Hi,

wie wäre es, den Fehler schon in der Formel abzufangen, z.B. mit WENNFEHLER?
Hi,

einfacher ist:
Code:
Sub x()
With ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas, 16)
  .Value = ""
End With
End Sub

VG Juvee
Hi,

ich frage mich: wieso sollte man Formeln, die einen Fehler liefern, einfach löschen wollen? Dann sind die doch für immer weg! 92

@Juvee: hier müsste man aber noch den Fall abfangen, dass es eventuell keine Fehler gibt.
Code:
Sub x()
Dim a As Range
On Error Resume Next
set a = ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors)
On Error Goto 0
If Not a Is Nothing Then a.ClearContents
End Sub