Подвижна средна стойност в Excel VBA - Лесни макроси на Excel

Съдържание

По -долу ще разгледаме програма в Excel VBA което създава a подвижна средна маса. Поставете команден бутон на работния си лист и добавете следния код:

Диапазон ("B3"). Стойност = Работен лист Функция.RandBetween (0, 100)

Този кодов ред въвежда произволно число между 0 и 100 в клетка В3. Искаме Excel VBA да вземе новата стойност на акциите и да я постави на първата позиция на таблицата с подвижна средна стойност. Всички останали стойности трябва да се преместят с едно място надолу и последната стойност да се изтрие.

Създайте събитие за смяна на работен лист. Кодът, добавен към събитието за смяна на работния лист, ще бъде изпълнен от Excel VBA, когато промените клетка на работен лист.

1. Отворете редактора на Visual Basic.

2. Щракнете двукратно върху Sheet1 (Sheet1) в Project Explorer.

3. Изберете Работен лист от левия падащ списък. Изберете Промяна от десния падащ списък.

Добавете следните кодови редове към събитието за смяна на работния лист:

4. Обявете променлива, наречена newvalue от тип Integer и два диапазона (firstfourvalues ​​и lastfourvalues).

Dim newvalue As Integer, firstfourvalues ​​As Range, lastfourvalues ​​As Range

5. Събитието за смяна на работния лист изслушва всички промени на Sheet1. Искаме Excel VBA да направи нещо само ако нещо се промени в клетка В3. За да постигнете това, добавете следния код:

Ако Target.Address = "$ B $ 3" ​​Тогава

6. Инициализираме newvalue със стойността на клетка B3, firstfourvalues ​​с Range ("D3: D6") и lastfourvalues ​​с Range ("D4: D7").

newvalue = Обхват ("B3"). Стойност
Задайте първо четири стойности = Обхват ("D3: D6")
Задайте lastfourvalues ​​= Range ("D4: D7")

7. Сега идва простият трик. Искаме да актуализираме таблицата на подвижната средна стойност. Можете да постигнете това, като замените последните четири стойности с първите четири стойности на таблицата и поставите новата стойност на акциите на първа позиция.

lastfourvalues.Value = firstfourvalues.Value
Обхват ("D3"). Стойност = нова стойност

8. Не забравяйте да затворите оператора if.

Край, ако

9. Накрая въведете формулата = СРЕДНА (D3: D7) в клетка D8.

10. Тествайте програмата, като щракнете върху командния бутон.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave