Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
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
Inhaltsverzeichnis

Excel 0 hoch 0

Excel 0 hoch 0
12.05.2022 17:41:44
Klaus
Hey Leute, lt. Vereinbarungen der Mathe ist x^1 = x, x^0 = 1, 0^1 = 0, doch 0 ^ 0 = ?. Unabhängig von mehreren Denken, die die Mathe-kundigen entwickelt haben, suche ich eine Lösung, die sowohl innerhalb einer Tabelle (!), aber auch (!) als Makro statt einer Fehlermeldug ggf. also mehrfach (!) aus einer aufsummierenden-Formel, Step by Step nunmehr in der Summe einfach ohne Wenn und Aber einfach als Wert einfach 0, maybe auch 1 zurückgeben. Will sagen : mehrfaches 0 mal 0 ist in Summe auch 0 plus der Summanden, die halt nicht Null sind. In einer UDF kann ich mich mit on error herauslügen. Doch innerhalb eines Arbeitsblattes ? Any ideas ? Gruß Klaus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 0 hoch 0
12.05.2022 18:15:07
ralf_b

Wennfehler()

AW: Excel 0 hoch 0
12.05.2022 18:19:28
Yal
Hallo Klaus,
die 3 Variante findest hier gut erklärt:
https://www.matheretter.de/wiki/null-hoch-null
Ich tendiere selber zu undefiniert, denn x^(n-1) = x^n / x
was nicht erlaubt ist (bzw undefiniert), wenn x = 0.
VG
Yal
AW: Excel 0 hoch 0
13.05.2022 10:02:36
Klaus
Danke so weit. Was ich suche ist ein Fehlerabfangung im Macro auch direkt in der Tabelle, die statt des Fehlers "0" zurückgibt. Gruß Klaus
AW: Excel 0 hoch 0
13.05.2022 11:05:42
Yal
Hallo Klaus,
für die Fehler-Behandlung verwende den On Error-Anweisung:
On Error Resume Next
On Error Goto FehlerBehandlung
Diese gilt nur innerhalb eine Prozedure, also nur bis Ende der Prozedure, oder bis sie -innerhalb der Prozedure- durch einen
On Error Goto 0
zurückgessetzt wird. Daher werden oft Code-Schnipsel, die eine Fehlerbehandlung erfordern in einer separaten Prozedure abgelagert.

Sub Machen()
Dim i
For i = 3 To 0 Step -1
Debug.Print i & ":" & Rechnen(i)
Next
End Sub
Function Rechnen(ByVal Eingang) As Long
On Error Resume Next
Rechnen = 0 'Default-Wert. Falls Fehler beim nächste Zeile, bleibt diese Wert stehen
Rechnen = Eingang ^ 0
End Function
0^0 scheint in VBA keine Fehler zu erzeugen.
Andere Version mit Sprungmarke in Try-Catch-Finally Muster:

Function Rechnen(ByVal Eingang) As Long
On Error GoTo Catch
Try:
Rechnen = 0 'Default-Wert
Rechnen = Eingang ^ 0
GoTo Finally
Catch:
'hier werden die Fehler behandelt
Finally:
'hier kommt den Abschluss-Code der unbedingt gemacht werden soll, egal ob Fehler oder nicht
'z.B: Application.ScreenUpdating = True
End Function
VG
Yal
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige