Rolling Average in Excel VBA - Einfache Excel-Makros

Inhaltsverzeichnis

Im Folgenden sehen wir uns ein Programm in an Excel VBA das schafft a Rolling-Average-Tabelle. Platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgende Codezeile hinzu:

Range("B3").Value = WorksheetFunction.RandBetween(0, 100)

Diese Codezeile gibt eine Zufallszahl zwischen 0 und 100 in Zelle B3 ein. Wir möchten, dass Excel VBA den neuen Aktienwert nimmt und ihn an die erste Position der gleitenden Durchschnittstabelle setzt. Alle anderen Werte sollten um eine Stelle nach unten verschoben und der letzte Wert gelöscht werden.

Erstellen Sie ein Arbeitsblattänderungsereignis. Code, der dem Arbeitsblattänderungsereignis hinzugefügt wird, wird von Excel VBA ausgeführt, wenn Sie eine Zelle in einem Arbeitsblatt ändern.

1. Öffnen Sie den Visual Basic-Editor.

2. Doppelklicken Sie im Projekt-Explorer auf Sheet1 (Sheet1).

3. Wählen Sie Arbeitsblatt aus der linken Dropdown-Liste. Wählen Sie Ändern aus der rechten Dropdown-Liste.

Fügen Sie dem Arbeitsblattänderungsereignis die folgenden Codezeilen hinzu:

4. Deklarieren Sie eine Variable namens newvalue vom Typ Integer und zwei Bereiche (firstfourvalues ​​und lastfourvalues).

Dim newvalue As Integer, firstfourvalues ​​As Range, lastfourvalues ​​As Range

5. Das Worksheet Change Event hört auf alle Änderungen auf Sheet1. Wir möchten nur, dass Excel VBA etwas tut, wenn sich in Zelle B3 etwas ändert. Fügen Sie dazu die folgende Codezeile hinzu:

Wenn Target.Address = "$B$3" Then

6. Wir initialisieren newvalue mit dem Wert von Zelle B3, firstfourvalues ​​mit Range("D3:D6") und lastfourvalues ​​mit Range("D4:D7").

newvalue = Range("B3").Value
Setze firstfourvalues ​​= Range("D3:D6")
Set lastfourvalues ​​= Range("D4:D7")

7. Jetzt kommt der einfache Trick. Wir möchten die Tabelle mit dem gleitenden Durchschnitt aktualisieren. Dies erreichen Sie, indem Sie die letzten vier Werte durch die ersten vier Werte der Tabelle ersetzen und den neuen Bestandswert an die erste Stelle setzen.

lastfourvalues.Value = firstfourvalues.Value
Range("D3").Value = newvalue

8. Vergessen Sie nicht, die if-Anweisung zu schließen.

Beenden, wenn

9. Geben Sie schließlich die Formel = MITTELWERT(D3:D7) in Zelle D8 ein.

10. Testen Sie das Programm, indem Sie auf die Befehlsschaltfläche klicken.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave