Nedenfor ser vi på et program i Excel VBA som skaper en rullende gjennomsnittsbord. Plasser en kommandoknapp på regnearket og legg til følgende kodelinje:
Område ("B3"). Verdi = WorksheetFunction.RandBetween (0, 100)
Denne kodelinjen legger inn et tilfeldig tall mellom 0 og 100 i celle B3. Vi vil at Excel VBA skal ta den nye aksjens verdi og plassere den på den første posisjonen i tabellen for rullende gjennomsnitt. Alle andre verdier skal flytte ned ett sted, og den siste verdien skal slettes.
Lag en hendelsesendringshendelse. Koden som er lagt til i regnearksendringshendelsen, blir utført av Excel VBA når du endrer en celle i et regneark.
1. Åpne Visual Basic Editor.
2. Dobbeltklikk på Sheet1 (Sheet1) i Project Explorer.
3. Velg Regneark fra rullegardinlisten til venstre. Velg Endre fra rullegardinlisten til høyre.
Legg til følgende kodelinjer i regnearkendringshendelsen:
4. Deklarer en variabel som kalles nyverdi av typen Heltall og to områder (første- og sistefyrverdier).
Dim newvalue As Integer, firstfourvalues As Range, lastfourvalues As Range
5. Regnearksendringshendelsen lytter til alle endringene på Sheet1. Vi vil bare at Excel VBA skal gjøre noe hvis noe endres i celle B3. For å oppnå dette, legg til følgende kodelinje:
Hvis Target.Address = "$ B $ 3" Da
6. Vi initialiserer nyverdi med verdien av celle B3, førstefireverdier med område ("D3: D6") og sistefyrverdier med område ("D4: D7").
newvalue = Range ("B3"). Verdi
Sett firstfourvalues = Range ("D3: D6")
Angi lastfourvalues = Range ("D4: D7")
7. Nå kommer det enkle trikset. Vi ønsker å oppdatere tabellen for rullende gjennomsnitt. Du kan oppnå dette ved å erstatte de fire siste verdiene med de fire første verdiene i tabellen og plassere den nye aksjeverdien på den første posisjonen.
lastfourvalues.Value = firstfourvalues.Value
Område ("D3"). Verdi = ny verdi
8. Ikke glem å lukke if -setningen.
Slutt om
9. Til slutt skriver du inn formelen = GJENNOMSNITT (D3: D7) i celle D8.
10. Test programmet ved å klikke på kommandoknappen.