PDA

Vollständige Version anzeigen : #div/0!


Franklanger
26.09.2003, 12:04
Hallo,
ich habe mehrere Tabellen verknüpft, wobei in manchen Spalten eine Divsionsformel eingebunden ist. Da aber in manchen Feldern eine NUll eingetragen ist, wird in der Endsumme #DIV/0! angezeigt. Gibt es eine Lösung (evtl. Makro) um dieses Problem zu lösen. Es sind insgesamt ca. 122 Tabellen die am Ende zu einer Gesamtliste zusammengefasst werden.
Danke im voraus.

MRP
26.09.2003, 12:16
Hallo,
=WENN(ISTFEHLER(DeineFormel);"";DeineFormel)
Ciao
Manuele Rocco Parrino

Franklanger
26.09.2003, 12:19
Danke. Die Formel kenne ich. Da aber über 120 Tabellen betroffen sind, ist meine Frage ob ich dafür ein globales Makro erstellen kann. Das Problem ist aber das nicht unbedingt jede Zeile betroffen ist, und die manuelle Änderung der Formeln sehr zeitintensiv ist.

jinx
26.09.2003, 19:15
<font size="2" face="Century Gothic">Moin, Franklanger,

nun ja, Du könntest über eine Schleife zum Beispiel die letzte genutzte Zeile/Spalte eines Blattes feststellen und dort die Zellen auf HasFormula überprüfen, bei Zutreffen die Formel auslesen und entsprechend um die If-Bedingung ergänzt wieder hineinschreiben, per SpecialCells(xlCellTypeFormulas) alle Formelzellen eines Blattes auswählen (geht auch über Bearbeiten/Gehe Zu/Inhalte/Formeln)...</font>

Susanne E.
26.09.2003, 23:19
Hallo,

vielleicht klappt folgendes:


Sub Errors_delete()

For Each Zelle in MyTable.Cells 'myTable ist deine Tabelle

If Zelle.Text = "#DIV/0!" Then
Zelle.FormulaR1C1 = "=WENN(ISTFEHLER( ... usw...)"
End If

Next Zelle

myTable.Calculate

End Sub
Das Makro erspart es dir, die Formel fuer alle Zellen manuell zu aendern.

Gruss

Susanne

jinx
27.09.2003, 06:38
<font size="2" face="Century Gothic">Moin, Susanne,

da die Sprache von VBA englisch ist, werden die Anweisungen entweder in englisch oder per FormulaLocal einzugeben sein (je nach Geschmack normale Schreibweise oder R1C1).

Dein Vorgehen setzt allerdings IMHO voraus, dass dies bei jeder Veränderung eines Wertes auf dem Blatt laufen muss - es könnten andere Fehlerwerte auftauchen. Dazu müßte uns aber Franklanger weitere Angaben machen.

P.S.: Als registrierte/r User/in steht Dir die Möglichkeit offen, Deine Beiträge innerhalb von 120 Minuten nach Erstellung zu editieren bzw. zu ergänzen - ich habe den "halben" Beitrag gelöscht.</font>