/ / Excel VBAのローリング平均

Excel VBAでのローリング平均

以下では、 Excel VBA それは ローリング平均テーブル。ワークシートにコマンドボタンを配置し、次のコード行を追加します。

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

このコード行は、0から0までの乱数を入力します。セルB3に100を入力します。 Excel VBAで新しい在庫値を取得し、ローリング平均テーブルの最初の位置に配置するようにします。他の値はすべて1か所下に移動し、最後の値は削除します。

Excel VBAでのローリング平均テーブル

Excel VBAでのローリング平均テーブル

ワークシート変更イベントを作成します。ワークシートの変更イベントに追加されたコードは、ワークシート上のセルを変更するとExcel VBAによって実行されます。

1. Visual Basic Editorを開きます。

2.プロジェクトエクスプローラでSheet1(Sheet1)をダブルクリックします。

3.左のドロップダウンリストから「ワークシート」を選択します。右側のドロップダウンリストから変更を選択します。

Excel VBAでのワークシート変更イベント

ワークシート変更イベントに次のコード行を追加します。

4. Integer型のnewvalueという変数と2つの範囲(firstfourvaluesとlastfourvalues)を宣言します。

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

5. Worksheet Change Eventは、Sheet1のすべての変更をリッスンします。セルB3で何か変更があった場合、Excel VBAに何かをさせるだけです。これを実現するには、次のコード行を追加します。

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

6. newvalueをセルB3の値で初期化します。最初の値はRange( "D3:D6")、lastfourvaluesはRange( "D4:D7")です。

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

7.今すぐ簡単なトリックが来る。 ローリング平均テーブルを更新する必要があります。最後の4つの値をテーブルの最初の4つの値に置き換えて、新しい株価を最初のポジションに置くことで、これを達成できます。

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

if文を閉じるのを忘れないでください。

End if

9.最後に、数式= AVERAGE(D3:D7)をセルD8に入力します。

10.コマンドボタンをクリックして、プログラムをテストします。

また読む: