/ / Rullende gjennomsnitt i Excel VBA

Rullende gjennomsnitt i Excel VBA

Nedenfor ser vi på et program i Excel VBA som skaper en rullende gjennomsnittlig tabell. Legg en kommandoknapp på regnearket og legg til følgende kodelinje:

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

Denne kodelinjen går inn i et tilfeldig tall mellom 0og 100 inn i celle B3. Vi vil at Excel VBA skal ta den nye aksjeverdien og plassere den på den første posisjonen til rullende gjennomsnittstabellen. Alle andre verdier bør flyttes ned et sted og den siste verdien skal slettes.

Rolling Average Table i Excel VBA

Rolling Average Table i Excel VBA

Opprett et regnearkendringshendelse. Kode som er lagt til i regnearkets endringshendelse, blir utført av Excel VBA når du endrer en celle på et regneark.

1. Åpne Visual Basic Editor.

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

3. Velg regneark fra den nedtrekkbare listen. Velg Endre fra den høyre rullegardinlisten.

Regneark Endre Hendelse i Excel VBA

Legg til følgende kodelinjer i regnearkendringshendelsen:

4. Erklær en variabel som heter newvalue av type Integer og to områder (førstevalg og lastfourvalues).

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

5. Regnearkendringshendelsen lytter til alle endringene på Ark1. Vi vil bare at Excel VBA skal gjøre noe hvis noe endres i celle B3. For å oppnå dette legger du til følgende kodelinje:

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

6. Vi initialiserer ny verdi med verdien av celle B3, førstevalg med Range ("D3: D6") og lastfourvalues ​​med Range ("D4: D7").

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

7. Nå kommer det enkle trikset. Vi vil oppdatere rullende gjennomsnittstabellen. Du kan oppnå dette ved å erstatte de fire siste verdiene med de fire første verdiene i tabellen og plassere den nye aksjeverdien i første posisjon.

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

8. Ikke glem å lukke if-setningen.

End if

9. Til slutt, skriv inn formelen = AVERAGE (D3: D7) i celle D8.

10. Test programmet ved å klikke på kommandoknappen.

Les også: