gibt es eigentlich eine Möglichkeit, Fehlerwerte wie #DIV/0! in Text umzuwandeln per Formel aus der Formelbibliothek von Excel? Bisher ist mir das nur über die Aktion : Kopieren/Werte einfügen gelungen.
Welche Möglichkeiten kennt Ihr so?
Gruß
Bernd
Sub FehlerWerteErsetzen()
Dim rngZelle As Range, rngBereich As Range
On Error Resume Next
Set rngBereich = Cells.SpecialCells(xlCellTypeConstants, 16)
If rngBereich Is Nothing Then
Set rngBereich = Cells.SpecialCells(xlCellTypeFormulas, 16)
Else
Set rngBereich = Union(rngBereich, Cells.SpecialCells(xlCellTypeFormulas, 16))
End If
If Not rngBereich Is Nothing Then
For Each rngZelle In rngBereich
rngZelle = rngZelle.Value
Next
End If
Set rngZelle = Nothing
Set rngBereich = Nothing
End Sub
Und falls viele (MATRIX-)Funktionen enthalten sind, könnte man auch temporär die automatische Berechnung deaktivieren ! Tabellenblattname: Tabelle1
F G H I
3 0 0 #DIV/0! #Fehler
4 W #NV #NV
Benutzte Formeln:
H3: =F3/G3
H4: =SVERWEIS(G4;A:E;5;FALSCH)
I3: =WENN(ISTFEHLER(F3/G3);"#Fehler";F3/G3)
I4: =WENN(ISTNV(SVERWEIS(G4;A:E;5;FALSCH));"#NV";SVERWEIS(G4;A:E;5;FALSCH))
A | B | C | |
1 | Inhalt | Fehler.TYP | Fehler-Name |
2 | #BEZUG! | 4 | BEZUG |
3 | #DIV/0! | 2 | DIV/0 |
4 | #NV | 7 | NV |
5 | #WERT! | 3 | WERT |
6 | Kein Fehler | ||
7 | 9 | Kein Fehler | |
8 | Text | Kein Fehler |
Formeln der Tabelle | ||||||||||||||||||||||||||||||
|
"Diese Fehlermeldung ist für zukünftige Versionen reserviert !"
Du siehst also : MS programmiert Fehler(meldungen) bereits vorausschauend/zukunftsweisend, worauf ja auch der Name VISTA (="Aussicht") hinweist ;-)