Скользящее среднее в Excel VBA - макросы Easy Excel

Содержание

Ниже мы рассмотрим программу на 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. Протестируйте программу, щелкнув командную кнопку.

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave