Rullande medelvärde i Excel VBA - Enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA som skapar en rullande medelbord. Placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

Område ("B3"). Value = WorksheetFunction.RandBetween (0, 100)

Denna kodrad matar in ett slumpmässigt tal mellan 0 och 100 i cell B3. Vi vill att Excel VBA ska ta det nya aktievärdet och placera det på den första positionen i det rullande genomsnittliga bordet. Alla andra värden ska flytta ned ett ställe och det sista värdet ska raderas.

Skapa en ändringshändelse för kalkylblad. Kod som läggs till i kalkylbladets ändringshändelse körs av Excel VBA när du ändrar en cell i ett kalkylblad.

1. Öppna Visual Basic Editor.

2. Dubbelklicka på Sheet1 (Sheet1) i Project Explorer.

3. Välj kalkylblad från den vänstra listrutan. Välj Ändra från den högra listrutan.

Lägg till följande kodrader i ändringshändelsen för kalkylblad:

4. Deklarera en variabel som heter newvalue av typen Integer och två intervall (firstfourvalues ​​och lastfourvalues).

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

5. Arbetsbladets ändringshändelse lyssnar på alla ändringar på Sheet1. Vi vill bara att Excel VBA ska göra något om något ändras i cell B3. För att uppnå detta, lägg till följande kodrad:

Om Target.Address = "$ B $ 3" ​​Då

6. Vi initierar nytt värde med värdet för cell B3, förstfyra värden med intervall ("D3: D6") och sista värden med intervall ("D4: D7").

newvalue = Range ("B3"). Värde
Ange första värden = intervall ("D3: D6")
Ange lastfourvalues ​​= Range ("D4: D7")

7. Nu kommer det enkla tricket. Vi vill uppdatera det rullande genomsnittliga bordet. Du kan uppnå detta genom att ersätta de fyra sista värdena med de fyra första värdena i tabellen och placera det nya lagervärdet på den första positionen.

lastfourvalues.Value = firstfourvalues.Value
Område ("D3"). Värde = nytt värde

8. Glöm inte att stänga if -uttalandet.

Avsluta om

9. Slutligen anger du formeln = GENNEMSNITT (D3: D7) i cell D8.

10. Testa programmet genom att klicka på kommandoknappen.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave