Nižšie sa pozrieme na program v Excel VBA ktorý vytvára a kĺzavý priemer tabuľky. Umiestnite príkazové tlačidlo na pracovný hárok a pridajte nasledujúci riadok kódu:
Rozsah ("B3"). Hodnota = WorksheetFunction.RandBetween (0, 100)
Tento riadok kódu zadá do bunky B3 náhodné číslo od 0 do 100. Chceme, aby Excel VBA prevzal novú hodnotu akcií a umiestnil ju na prvú pozíciu tabuľky kĺzavého priemeru. Všetky ostatné hodnoty by sa mali posunúť o jedno miesto nižšie a posledná hodnota by mala byť vymazaná.
Vytvorte udalosť zmeny pracovného hárka. Kód pridaný do udalosti zmeny pracovného hárka vykoná Excel VBA, keď zmeníte bunku v hárku.
1. Otvorte editor jazyka Visual Basic.
2. Dvakrát kliknite na Sheet1 (Sheet1) v programe Project Explorer.
3. V ľavom rozbaľovacom zozname vyberte Pracovný list. V pravom rozbaľovacom zozname vyberte položku Zmeniť.
Do udalosti zmeny pracovného hárka pridajte nasledujúce riadky kódu:
4. Deklarujte premennú s názvom newvalue typu Integer a dva rozsahy (firstfourvalues a lastfourvalues).
Dim newvalue As Integer, firstfourvalues As Range, lastfourvalues As Range
5. Udalosť zmeny pracovného hárka počúva všetky zmeny v hárku1. Chceme, aby Excel VBA niečo urobil, ak sa v bunke B3 niečo zmení. Aby ste to dosiahli, pridajte nasledujúci riadok kódu:
Ak Target.Address = "$ B $ 3" Potom
6. Inicializujeme novú hodnotu s hodnotou bunky B3, prvé štyri hodnoty s rozsahom („D3: D6“) a posledné štyri hodnoty s rozsahom („D4: D7“).
newvalue = Rozsah ("B3"). Hodnota
Nastaviť prvé štyri hodnoty = rozsah ("D3: D6")
Nastaviť posledné štyri hodnoty = rozsah ("D4: D7")
7. Teraz prichádza jednoduchý trik. Chceme aktualizovať tabuľku kĺzavého priemeru. Môžete to dosiahnuť nahradením posledných štyroch hodnôt prvými štyrmi hodnotami tabuľky a umiestnením novej hodnoty akcií na prvé miesto.
lastfourvalues.Value = firstfourvalues.Value
Rozsah („D3“). Hodnota = nová hodnota
8. Nezabudnite zatvoriť príkaz if.
Koniec Ak
9. Nakoniec zadajte vzorec = PRIEMER (D3: D7) do bunky D8.
10. Otestujte program kliknutím na príkazové tlačidlo.