滚动平均在Excel VBA
下面我们就来看看在Excel VBA程序创建一个滚动平均值表。将工作表上的一个命令按钮并添加以下代码行:
Range("B3").Value = WorksheetFunction.RandBetween(0, 100)
此代码线进入0和100之间的随机数到细胞B3。我们希望Excel VBA采取新的股票价值,并将其放置在滚动平均表的第一位置。所有其它的值应该向下移动一个地方,最后的价值应该被删除。
创建工作表更改事件。添加到工作表更改事件代码将被Excel VBA,当你在工作表上更改单元格执行。
1.打开Visual Basic编辑器。
2.双击工作表Sheet1(Sheet1中)在项目资源管理器。
3.从左边的下拉列表中选择工作表。从右侧的下拉列表中选择更改。
添加以下代码行的工作表更改事件:
4.声明一个叫做类型整数和两个范围(firstfourvalues和lastfourvalues)的NEWVALUE变量。
Dim newvalue As Integer, firstfourvalues As Range, lastfourvalues As Range
5.工作表更改事件侦听Sheet1上的所有变化。我们只希望Excel VBA到某些东西在B3单元格的变化做一些事情。要做到这一点,添加以下代码行:
If Target.Address = "$B$3" Then
6.我们初始化NEWVALUE与细胞B3的值,与范围firstfourvalues( “D3:D6”),并用lastfourvalues范围( “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.测试通过点击命令按钮程序。