Poniżej przyjrzymy się programowi w Excel VBA który tworzy tocząca się średnia tabela. Umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu:
Range("B3").Value = WorksheetFunction.RandBetween(0, 100)
Ta linia kodu wprowadza losową liczbę od 0 do 100 w komórce B3. Chcemy, aby Excel VBA wziął nową wartość akcji i umieścił ją na pierwszej pozycji tabeli średniej kroczącej. Wszystkie inne wartości powinny przesunąć się o jedno miejsce w dół, a ostatnia wartość powinna zostać usunięta.
Utwórz zdarzenie zmiany arkusza roboczego. Kod dodany do zdarzenia zmiany arkusza roboczego zostanie wykonany przez Excel VBA po zmianie komórki w arkuszu.
1. Otwórz Edytor Visual Basic.
2. Kliknij dwukrotnie Arkusz1 (Arkusz1) w Eksploratorze projektów.
3. Wybierz Arkusz roboczy z lewej listy rozwijanej. Wybierz Zmień z prawej listy rozwijanej.
Dodaj następujące wiersze kodu do zdarzenia zmiany arkusza roboczego:
4. Zadeklaruj zmienną o nazwie newvalue typu Integer oraz dwa zakresy (pierwsze cztery wartości i ostatnie cztery wartości).
Dim nowa wartość jako liczba całkowita, pierwsze cztery wartości jako zakres, ostatnie cztery wartości jako zakres
5. Zdarzenie zmiany arkusza roboczego nasłuchuje wszystkich zmian w Arkuszu1. Chcemy, aby Excel VBA zrobił coś, jeśli coś zmieni się w komórce B3. Aby to osiągnąć, dodaj następującą linię kodu:
Jeśli Target.Address = "$B$3" Wtedy
6. Inicjujemy nowąwartość wartością komórki B3, pierwszeczterywartości z Zakresem("D3:D6") i ostatnieczterywartości z Zakres("D4:D7").
nowawartość = Zakres("B3").Wartość
Ustaw pierwsze cztery wartości = Zakres("D3:D6")
Ustaw lastfourvalues = Zakres("D4:D7")
7. Teraz przychodzi prosta sztuczka. Chcemy zaktualizować tabelę średnich kroczących. Możesz to osiągnąć, zastępując ostatnie cztery wartości pierwszymi czterema wartościami tabeli i umieszczając nową wartość akcji na pierwszej pozycji.
ostatnieczterywartości.Wartość = pierwszeczterywartości.Wartość
Zakres("D3").Wartość = nowa wartość
8. Nie zapomnij zamknąć instrukcji if.
Zakończ, jeśli
9. Na koniec wprowadź formułę = ŚREDNIA (D3: D7) do komórki D8.
10. Przetestuj program, klikając przycisk polecenia.