Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

WENNFEHLER-Formel als Makro

Forumthread: WENNFEHLER-Formel als Makro

WENNFEHLER-Formel als Makro
12.02.2021 08:58:49
Spitzbube
Hallo zusammen,
ich muss in vielen Excel-Zellen, die unterschiedliche Formeln enthalten, die Formel =WENNFEHLER("irgendeine Formel",0) nachfügen, um das #DIV/0! Problem zu umgehen. Hat dafür jemand einen VBA-Ansatz, damit ich die ganzen Zellen nicht einzeln händisch nachbessern muss?
Vielen Dank im Voraus + besten Gruß
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: WENNFEHLER-Formel als Makro
12.02.2021 09:23:36
UweD
Hallo
so?

Sub Fehler()
Dim Z
With Sheets("Tabelle1")
On Error GoTo Noerrors
For Each Z In Cells.SpecialCells(xlCellTypeFormulas, 16) ' nur Zellen mit Fehler
Z.FormulaR1C1 = "=IFERROR(" & Mid(Z.FormulaR1C1, 2) & ",0)"
Next
End With
Exit Sub
Noerrors:
MsgBox "Keine Fehler gefunden"
End Sub
LG UweD
Anzeige
update..
12.02.2021 09:45:25
UweD
Hallo nochmal
So werden nur die #DIV/0! Fehler bereinigt

Sub Fehler()
Dim Z, FW As String
FW = "#DIV/0!"
With Sheets("Tabelle1")
If WorksheetFunction.CountIf(.Cells, FW) > 0 Then
For Each Z In .Cells.SpecialCells(xlCellTypeFormulas, 16) ' nur Zellen mit Fehler
If InStr(Z.Text, FW) > 0 Then
Z.FormulaR1C1 = "=IFERROR(" & Mid(Z.FormulaR1C1, 2) & ",0)"
End If
Next
Else
MsgBox "Keine Fehler gefunden"
End If
End With
End Sub
LG UweD
Anzeige
AW: update..
12.02.2021 10:10:02
Spitzbube
Hallo Uwe,
super, dein Ansatz hat mich weitergebracht! Ich habe den Code für mich "vereinfacht", da ich in jeder ausgewählten Zelle, unabhängig ob dort ein Fehler auftaucht, die Formel nachfügen möchte. Der Code sieht so aus:
Sub WENNFEHLER()
Dim Zelle As Range
For Each Zelle In Selection.SpecialCells(xlCellTypeFormulas)
Zelle.Formula = "=IFERROR(" & Mid(Zelle.Formula, 2) & ",0)"
Next
End Sub
Vielen Dank und Gruß! :)
Anzeige
AW: update..
12.02.2021 10:13:07
Oberschlumpf
...dann is ja allet juut...
Danke für die Rückmeldung (owT)
12.02.2021 10:14:01
UweD
AW: WENNFEHLER-Formel als Makro
12.02.2021 09:24:13
Oberschlumpf
Hi,
angenommen, in B1 steht die Formel...
=WENNFEHLER("irgendeine Formel",0)

...dann dieser Code:

Range("B1").Value = "" 'Formel wird gelöscht, weil nicht mehr benötigt
If alteFormelAusZelleB1 = falsches Ergebnis Then
Range("B1").Value = 0
End If

Hilfts?
In B1 steht bei dir gar keine Formel, und du weißt nicht, meinen Code anzupassen?
Tja, ich (wir) können nicht wissen, in welchen Zellen in deiner Datei welche Formeln stehen, wenn du uns darüber nix erzählst.
Zeig bitte per Upload eine Bsp-Datei mit =WENNFEHLER-Formeln, in denen zur Zeit noch #DIV/0! als Ergebnis angezeigt wird.
Ciao
Thorsten
Anzeige
AW: WENNFEHLER-Formel als Makro
12.02.2021 10:03:30
Spitzbube
Hallo Thorsten,
Danke für deinen Ansatz. Allerdings möchte ich die Zelle nicht mit "0" überschreiben, wenn der Fehler auftritt, sondern die Formel in der Zelle um die WENNFEHLER-Funktion erweitern. Bspw. steht in Zelle B1 = RUNDEN((750-I44)*J46/1500;0). Diese Formel will ich zu B1 = WENNFEHLER(RUNDEN((750-I44)*J46/1500;0);0) erweitern und zwar so, dass ich alle Zelle, auf die das zutrifft, markiere und dann das Makro ablaufe. Habe sowas schonmal für die RUNDEN-Funktion gebastelt, das so dann so aus:
Sub RUNDEN()
Dim Zelle As Range
For Each Zelle In Selection.SpecialCells(xlCellTypeFormulas)
Zelle.Formula = "=Round(" & Mid(Zelle.Formula, 2) & ",0)"
Next
End Sub
Allerdings schaffe ich es nicht das selbe Vorgehen auf die WENNFEHLER-Funktion zu adaptieren.
Hast du dafür noch einen Ansatz?
Anzeige
AW: WENNFEHLER-Formel als Makro
12.02.2021 10:07:17
Oberschlumpf
Hi,
hast du eine Bsp-Datei MIT genügend Bsp-Zeilen?!
(warum wird der Teil, den ich erbitte, fast immer wieder übersehen?!)
Ciao
Thorsten
AW: WENNFEHLER-Formel als Makro
12.02.2021 10:13:11
Daniel
Hi
was klappt denn nicht?
du musst doch nur das "Round" durch "IfError" ersezten.
der hintere Teil der Formel ist sogar gleich.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

WENNFEHLER-Formel mit VBA automatisieren


Schritt-für-Schritt-Anleitung

Um die WENNFEHLER-Formel in mehreren Excel-Zellen automatisch hinzuzufügen, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Excel öffnen und die Datei laden, in der Du die WENNFEHLER-Formel einfügen möchtest.

  2. VBA-Editor öffnen: Drücke ALT + F11.

  3. Im VBA-Editor wählst Du Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden VBA-Code ein:

    Sub WENNFEHLER()
       Dim Zelle As Range
       For Each Zelle In Selection.SpecialCells(xlCellTypeFormulas)
           Zelle.Formula = "=WENNFEHLER(" & Mid(Zelle.Formula, 2) & ",0)"
       Next
    End Sub
  5. Makro ausführen: Kehre zu Excel zurück, markiere die Zellen, in denen Du die WENNFEHLER-Formel einfügen möchtest, und rufe das Makro über Entwicklertools > Makros auf.

  6. Wähle das Makro WENNFEHLER und klicke auf Ausführen.

Jetzt wird in allen ausgewählten Zellen die vorhandene Formel um die WENNFEHLER-Funktion ergänzt.


Häufige Fehler und Lösungen

  • Fehler beim Ausführen des Makros: Stelle sicher, dass Du tatsächlich Zellen mit Formeln ausgewählt hast. Wenn keine Formeln vorhanden sind, kann das Makro nicht arbeiten.
  • #DIV/0! Fehler nicht behandelt: Wenn Du nur die #DIV/0! Fehler umschiffen möchtest, kannst Du den Code anpassen:

    Sub Fehler()
       Dim Z
       With Sheets("Tabelle1")
           On Error GoTo Noerrors
           For Each Z In .Cells.SpecialCells(xlCellTypeFormulas, 16) ' nur Zellen mit Fehler
               If InStr(Z.Text, "#DIV/0!") > 0 Then
                   Z.FormulaR1C1 = "=WENNFEHLER(" & Mid(Z.FormulaR1C1, 2) & ",0)"
               End If
           Next
       End With
       Exit Sub
    Noerrors:
       MsgBox "Keine Fehler gefunden"
    End Sub

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch die WENNFEHLER-Funktion direkt in Excel-Formeln nutzen. Zum Beispiel:

=WENNFEHLER(A1/B1; 0)

Diese Formel gibt 0 zurück, wenn ein Fehler auftritt, anstatt den Fehler selbst anzuzeigen.


Praktische Beispiele

Beispiel 1: Einfache Verwendung der WENNFEHLER-Formel

Wenn in der Zelle A1 die Formel =RUNDEN((750-I44)*J46/1500;0) steht, möchtest Du sie um die WENNFEHLER-Funktion erweitern:

Sub RUNDEN()
    Dim Zelle As Range
    For Each Zelle In Selection.SpecialCells(xlCellTypeFormulas)
        Zelle.Formula = "=WENNFEHLER(RUNDEN(" & Mid(Zelle.Formula, 2) & ",0);0)"
    Next
End Sub

Beispiel 2: Umgang mit leeren Zellen

Um leere Zellen zu berücksichtigen, kannst Du die WENNFEHLER-Formel so anpassen:

Zelle.Formula = "=WENNFEHLER(" & Mid(Zelle.Formula, 2) & ", """")"

Tipps für Profis

  • Makros speichern: Speichere Deine Excel-Datei im .xlsm Format, um die Makros zu erhalten.
  • Fehlerbehandlungen: Implementiere Fehlerbehandlungen im VBA-Code, um unerwartete Probleme zu vermeiden.
  • VBA-Dokumentation: Nutze die VBA-Hilfe in Excel, um mehr über spezifische Funktionen zu erfahren.

FAQ: Häufige Fragen

1. Wie kann ich ein VBA-Makro löschen?
Um ein Makro zu löschen, öffne den VBA-Editor, wähle das Modul aus und drücke Entf.

2. Kann ich mehrere WENNFEHLER-Formeln gleichzeitig einfügen?
Ja, markiere einfach alle Zellen mit den Formeln und führe das Makro aus.

3. Wie kann ich das Makro anpassen, um andere Fehler zu behandeln?
Du kannst die Bedingung im Code ändern, um spezifische Fehler zu erkennen, z.B. durch Ersetzen von #DIV/0! mit einem anderen Fehlercode.

4. Was macht die WENNFEHLER-Funktion genau?
Die WENNFEHLER-Funktion gibt einen von Dir definierten Wert zurück, wenn eine Formel einen Fehler ergibt, anstatt den Fehler selbst anzuzeigen.

5. Ist die WENNFEHLER-Funktion in allen Excel-Versionen verfügbar?
Ja, die WENNFEHLER-Funktion ist in Excel 2007 und neueren Versionen verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige