/ / Среден брой в Excel VBA

Среден брой в Excel VBA

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

Range("B3").Value = WorksheetFunction.RandBetween(0, 100)

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

Таблица с валидна средна стойност в Excel VBA

Таблица с валидна средна стойност в Excel VBA

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

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

2. Кликнете два пъти върху Sheet1 (Sheet1) в Project Explorer.

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

Работен лист Промяна събитие в Excel VBA

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

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

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

5. Събитието за смяна на работен лист се вписва в всички промени в Лист1. Искаме само Excel VBA да направи нещо, ако нещо се промени в клетка B3. За да постигнете това, добавете следния код:

If Target.Address = "$B$3" Then

6. Инициализираме новата стойност със стойността на клетка B3, първите стойности с обхват ("D3: D6") и последните стойности с Range ("D4: D7").

newvalue = Range("B3").Value
Set firstfourvalues = Range("D3:D6")
Set lastfourvalues = Range("D4:D7")

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

lastfourvalues.Value = firstfourvalues.Value
Range("D3").Value = newvalue

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

End if

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

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

Също така се чете: