Ниже мы рассмотрим программу на Excel VBA что создает таблица скользящего среднего. Поместите командную кнопку на свой рабочий лист и добавьте следующую строку кода:
Диапазон ("B3"). Значение = WorksheetFunction.RandBetween (0, 100)
Эта строка кода вводит случайное число от 0 до 100 в ячейку B3. Мы хотим, чтобы Excel VBA взял новую стоимость акций и поместил ее на первую позицию в таблице скользящего среднего. Все остальные значения должны сдвинуться на одну позицию вниз, а последнее значение должно быть удалено.
Создайте событие изменения рабочего листа. Код, добавленный в событие изменения рабочего листа, будет выполняться Excel VBA при изменении ячейки на листе.
1. Откройте редактор Visual Basic.
2. Дважды щелкните Sheet1 (Sheet1) в проводнике проекта.
3. Выберите Рабочий лист в раскрывающемся списке слева. В правом раскрывающемся списке выберите Изменить.
Добавьте следующие строки кода в событие изменения рабочего листа:
4. Объявите переменную с именем newvalue типа Integer и два диапазона (firstfourvalues и lastfourvalues).
Dim newvalue как целое число, firstfourvalues как Range, lastfourvalues как Range
5. Событие изменения рабочего листа отслеживает все изменения на листе Sheet1. Нам нужно, чтобы Excel VBA что-то делал, только если что-то изменится в ячейке B3. Для этого добавьте следующую строку кода:
Если Target.Address = "$ B $ 3", то
6. Мы инициализируем newvalue значением ячейки B3, firstfourvalues - диапазоном («D3: D6») и lastfourvalues - диапазоном («D4: D7»).
newvalue = Диапазон ("B3"). Значение
Установите firstfourvalues = Range ("D3: D6")
Установить lastfourvalues = Range ("D4: D7")
7. А теперь простой трюк. Мы хотим обновить таблицу скользящего среднего. Вы можете добиться этого, заменив последние четыре значения первыми четырьмя значениями таблицы и поместив новое значение запаса в первую позицию.
lastfourvalues.Value = firstfourvalues.Value
Диапазон ("D3"). Значение = новое значение
8. Не забудьте закрыть оператор if.
Конец, если
9. Наконец, введите формулу = СРЕДНЕЕ (D3: D7) в ячейку D8.
10. Протестируйте программу, щелкнув командную кнопку.