Formel funktioniert in Spalte "Z" und "AB" aber nicht in "AA"

Das Problem mit ZEILE() und SPALTE() ist dieselbe wie beim Application.Caller. Excel merkt nicht, dass die Funktion nachberechnet werden muss.
Beim Range auf die Spalte merkt Excel, das die Berechnung erneuert werden muss, da im Range eine veränderung stattfand.
Darum zurück zum Range. Wo kam denn die Fehlermeldung?
 
Ok, hab also den Code zurückgeändert.
In der Zelle, wo das Ergebnis stehen soll stehl
Code:
=mySum1(AA5:AA8000)

In der Zelle steht nach "Enter" "#WERT!"
Und als Erklärung: Ein in der Formel verwendeter Wert ist vom falschen Datentyp.
 
Du musst kein Gesammtrange angeben
mySum1 erwartet 2 Paramter. Zeile und Spalte
In welchem Feld steht dein Test?
 
Ich schreibe in die Zelle AA4 also rein "=mySum1(4;27)"
In den Zeilen direkt darunter AA5-AA7 stehen Zahlen.
Ist das richtig?
Der Fehler ist der selbe :-(
 
Ach soo, na nun gehts :)
... dann versuche ich mal zu begreifen, wie die Funktion funktioniert, schätze aber das wird wohl nichts werden :-(
Ich Danke Die jedenfalls nochmal für Deine Geduld
 
Die kommen prompt:
Dim auftrag As Range: Set auftrag = iAuftagRow(1)
->was bedeutet hier die (1) am Ende?

Dim ersterWert As Range: Set ersterWert = ws.Cells(iAuftagRow.Row, iCalcColumn.Column)
-> hier wird quasi die Schnittmenge, also die Ergebniszelle festgestellt?

Do While auftrag.Offset(delta).Value = Empty And ersterWert.Offset(delta).Value <> Empty
-> hier scheinst Du das Ende des zu addierenden Bereiches "=Summe(ersterWert:???)" herauszufinden.
Ich verstehe aber das "=Empty" nicht .... nee, eigentlich den ganzen Ablauf nicht.
Wenn Du mir das erklären würdest?!
 
Beipeispiel
=mySum1(4:4;C:C)

1) Erste Zelle des Ranges. ->A4

2) Nimm die Zelle der Tabelle, mit der Zeile aus iAuftragRow und der Spalte aus iCalcColumn
Sozusagen die Schnittzelle der Zeile und der Spalte ->C4

3)Do while. Also eine Schleife "Mach solange"
offset() gibt die Zelle zurück, die um offset(Anzahl Zeilen, Anzahl Spalten) zur Ursprungszelle versetzt ist
Feld Auftrag (Erstes Feld der aktuellen Zeile (A4)) plus delta ist leer (empty)
UND Schnittfeld C4 plus delta ist NICHT leer.

Anders ausgedrückt. Sobald eine neue Auftragsnummer kommt oder keine weitere Zahl zum zusammenrechnen, die Schliefe abbrechen.
 
Zurück