#WERT! mittels VBA ersetzen
#1
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
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Antworten Top
#2
Hi,

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

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • friedensbringer
Antworten Top
#3
Hi,

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

VG Juvee
[-] Folgende(r) 1 Nutzer sagt Danke an juvee für diesen Beitrag:
  • friedensbringer
Antworten Top
#4
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
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • juvee
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste