Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
380to384
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
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler #DIV/0 entfernen aber wie?

Fehler #DIV/0 entfernen aber wie?
17.02.2004 12:15:25
otto
Guten Tag,
wie kann ich mein Tabellenblatt nach allen #DIV/0 durchsuchen und alle diese Einträge löschen. In der Hilfe steht nur wie man sie unsichtbar machen kann z.B. die Schriftfarbe auf weiss setzen, aber ich möchte definitiv diesen wert gelöscht haben.
Könnt ihr mir weiterhelfen?
Gruss Otto

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler #DIV/0 entfernen aber wie?
17.02.2004 12:19:50
Mac4
Hallo Otto,
wenn diese Eintragung aus einer Formel resultiert, dann so:
Bearbeiten - Gehe zu - Inhalte - Formeln und hier alle Häkchen entfernen bis auf "Fehler".
Marc
danke funktioniert prima o.T.
17.02.2004 12:35:33
otto
AW: Fehler #DIV/0 entfernen aber wie?
17.02.2004 12:20:05
Alex K.
Hallo Otto,
kopiere das Makro in ein VBA Modul (im VBA Editor Menü Einfügen -> Modul) und lasse es laufen. Löscht alle "#div/0" Fehler im aktiven Tabellenblatt.

Public Sub Fehlersuche()
Dim errText     As String
Dim col         As Long
Dim row         As Long
Dim actCell     As Range
Dim ret         As Integer
With ActiveSheet
For col = 1 To .UsedRange.Columns.Count
For row = 1 To .Cells(.Rows.Count, col).End(xlUp).row
Set actCell = .Cells(row, col)
If Application.WorksheetFunction.IsError(actCell.Value) And _
LCase(actCell.Text) = "#div/0!" Then
actCell.Formula = ""
End If
Next row
Next col
End With
End Sub

Anzeige
komisch aber dein code macht bei mir gar nix ??o.T
17.02.2004 12:36:14
otto
AW: komisch aber dein code macht bei mir gar nix ??o.T
17.02.2004 12:41:55
Alex K.
Hallo Otto,
bitte beachte, dass du das zu bearbeitende Tabellenblatt aktiviert haben mußt, da das Makro im aktiven Tabellenblatt sucht.
Bei mir läuft es, wenn es trotzdem nicht geht, dann kann es evtl. an der Office Version liegen. Ich habe mit Excel 2000 (9.0) getestet.
Ansonsten kannst du mir noch mitteilen, welcher genaue Text die Fehlermeldung hat.
In Excel 2000 ist der genaue Text "#DIV/0!". Wie ist er bei dir.
also bei mir ist auch #DIV/0! die ....
17.02.2004 13:26:02
otto
...fehlermeldung und ich starte von meinem tabellenblatt dein makro aber komischerweise passiert hier überhaupt nix.
ich habe excel 2002 liegt es daran???
gruss otto
Anzeige
AW: also bei mir ist auch #DIV/0! die ....
17.02.2004 13:51:14
Alex K.
Hallo Otto,
da kann ich auch nur raten.
Eine Möglichkeit, tausche die Zeile (im Inneren der Schleife)

LCase(actCell.Text) = "#div/0!" Then
gegen
CStr(actCell.Value) Like "*2007*" Then

Wenn es dann nicht läuft, dann würde ich dich bitte, mal folgendes Makro zu starten.
Bitte teile mir dann mit, was in der Meldung angezeigt wird.
Dank

Public Sub Fehleranzeige()
Dim col         As Long
Dim row         As Long
Dim actCell     As Range
Dim ret         As Integer
With ActiveSheet
For col = 1 To .UsedRange.Columns.Count
For row = 1 To .Cells(.Rows.Count, col).End(xlUp).row
Set actCell = .Cells(row, col)
If Application.WorksheetFunction.IsError(actCell.Value) Then
MsgBox "Value: " & CStr(actCell.Value) & vbNewLine & _
"Value2: " & CStr(actCell.Value2) & _
vbNewLine & "Text: " & actCell.Text
Exit Sub
End If
Next row
Next col
End With
End Sub

Anzeige
das ist ja das problem....
17.02.2004 14:06:11
otto
... es wird weder ein fehler angezeigt noch wird #DIV/0! gelöscht. und mit dem ersetzten von oben klappt es auch nicht :-(
danke dir aber trotzdem für die mühen
gruss otto
AW: das ist ja das problem....
17.02.2004 14:09:55
Alex K.
Hallo Otto,
na ja, d.h. wohl, die WorksheetFunction.IsError greift nicht, warum auch immer. Vielleicht kann das mal einer mit Office XP und VBA Kenntnissen nachvollziehen, was hier schiefläuft.
ja das würde mich auch interessieren o.T.
17.02.2004 14:12:55
otto
noch ein Lösungsvorschlag
17.02.2004 14:39:28
Alex K.
Hallo Otto,
wenn er keine Fehler erkennt, können wir es noch einmal so probieren:

Public Sub Fehlersuche()
Dim errText     As String
Dim col         As Long
Dim row         As Long
Dim actCell     As Range
Dim ret         As Integer
With ActiveSheet
For col = 1 To .UsedRange.Columns.Count
For row = 1 To .Cells(.Rows.Count, col).End(xlUp).row
Set actCell = .Cells(row, col)
'Alternativ in der nachfolgenden Zeile das Kommentarzeichen "'" löschen und die Zeile "If LCase(actCell.Text....." mit "'" kommentieren
'If CStr(actCell.Value) Like "*2007*" Then
If LCase(actCell.Text) = "#div/0!" Then
actCell.Formula = ""
End If
Next row
Next col
End With
End Sub

Anzeige
super es klappt! wo genau ....
17.02.2004 16:00:57
otto
... ist da jetzt der unterschied?
wenn du mir das noch erklären könnest
hab aber dank
gruss otto
AW: super es klappt! wo genau ....
17.02.2004 16:07:35
Alex K.
Hallo Otto,
ich wollte es halt superganau machen und habe in der ersten Version mit Hilfe von
Application.WorksheetFunction.IsError(actCell.Value)
abfragen, ob überhaupt ein Fehler in der Zelle vorliegt. Dies scheint unter Office XP nicht mehr zu klappen. Unter Excel 2000 kein Problem. Deshalb habe ich nun die Frage herausgenommen und nur noch die Prüfung des Zelleninhaltes auf die direkte Fehlermeldung "#div/0!".
Wenn also nun einer auf die Idee kommt, eine Formel zu konstruieren, die als Ausgabe den Text "#div/0!" hat, so wird auch diese Formel gelöscht, obwohl hier gar kein Fehler vorliegt. Ist aber mehr als unwahrscheinlich, dass jemand so eine Formel konstruiert, also keine Gefahr :-)
Anzeige
ich danke dir vielmals alex sehr gut :-) o.T.
17.02.2004 16:53:12
otto

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige