Hallo Community,
ich habe ein Problem. Für viele von euch wahrscheinlich sehr trivial, aber ich stehe gerade echt auf dem "Schlauch"
Ich möchte in mehreren Worksheets eine Funktion in eine Zelle schreiben, von der aus dann nach rechts Summiert wird.
Die Summe wird nur aus jedem 5. Wert gebildet
Function lauf1(spalte As Integer)
Application.Volatile
Dim lauf As Double
Dim i As Integer
lauf = 0
Dim orng As Range
Set orng = Application.Caller
For i = spalte To 500 Step 5
lauf = lauf + ActiveSheet.Cells(orng.Row, i + 5).Value
Next i
lauf1 = lauf
End Function
Das funktioniert auch wunderbar, nur werden die Ergebnisse des aktuellen Worksheets in alle anderen übertragen. d.h. ich muss beim Worksheetwechsel alles neu berechnen (UMSCHALT+F9) was zum Teil sehr lange dauert. Und eine Änderung einer Zelle im active Sheet bewirkt eine mappenweite Neuberechnung, was noch länger dauert und mich dazu zwingt bei erneutem Sheetwechsel wieder alles von vorne zu berechnen.
Meine Frage:
Wie kann ich der Funktion sagen, dass nur Werte im aktiven Sheet berechnet werden sollen und mit den anderen Sheets nichts geschieht, bis ich wieder darauf zugreife und Änderungen vornehme?
Vielen Dank und ein schönes Wochende
Gruß
PS: etwaige Verwirrung wegens des Codes bitte ignorieren (bspw i+5 in der Schleife diente mir bei der Anapssung an bestimmte Worksheets)