Dieser Code dient nur dazu, den einfachen gleitenden Durchschnitt zu berechnen. Eröffnete eine Excel, erstellt Dummy-Array in C-Zeile von 1 bis 20. Ich möchte eine Funktion für zB erstellen: SMA (C7,3) =, die Durchschnitt von C5: C7 geben sollte.Einfacher gleitender Durchschnitt in Excel-VBA
Zurück zu VBA nach langer Zeit, nicht in der Lage, herauszufinden, was der Fehler in der folgenden Code ist.
Function sma1(rng As Range, N As Integer)
Set rng = rng.Resize(-N + 1, 0)
sma1 = Application.WorksheetFunction.average(rng)
End Function
Ändern der '0' in der Größe ändern, um '1'. Es ist anders als offset(). –
Nur zur Kenntnisnahme, [diese Antwort] (http://stackoverflow.com/a/38873678/4088852) veranschaulicht den Grund, warum Sie Empfehlungen erhalten, um Ihre Funktion umzubenennen. – Comintern