下に我々は移動平均テーブルを作成するエクセルVBAでプログラムを見ていきます。ワークシート上のコマンドボタンを配置し、次のコード行を追加します。

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

このコード行は、セルB3に0と100の間のランダムな番号を入力します。我々は、Excel VBAが新しい株式価値を取りたいとローリング平均テーブルの最初の位置に置きます。他のすべての値は、一つの場所を下に移動する必要がありますし、最後の値を削除する必要があります。

Rolling Average Table in Excel VBA

Rolling Average Table in Excel VBA

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

  1. Visual Basicエディターを開きます。

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

3.左側のドロップダウンリストからワークシートを選択してください。右のドロップダウンリストから、変更を選択します。

Worksheet Change Event in Excel VBA

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

4.整数と二つの範囲(firstfourvaluesとlastfourvalues)のNEWVALUEと呼ばれる変数を宣言。

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

5.ワークシートの変更イベントは、Sheet1のすべての変更を待機します。私たちは、何かがセルB3に変更された場合エクセルVBAで何かをしたいです。これを実現するために、次のコード行を追加します。

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

そしてレンジ( “D4:D7″)とlastfourvalues:6.私たちは、セルB3の値と範囲( “D6 D3″)とfirstfourvaluesをNEWVALUEを初期化します。

newvalue = Range("B3").Value

Set firstfourvalues = Range("D3:D6")

Set lastfourvalues = Range("D4:D7")

7.次に、単純なトリックをしています。私たちは、移動平均テーブルを更新します。あなたは、テーブルの最初の4つの値を持つ最後の4つの値を交換し、第1の位置に新たな株式価値を置くことによって、これを達成することができます。

lastfourvalues.Value = firstfourvalues.Value

Range("D3").Value = newvalue
  1. if文を閉じることを忘れないでください。

End if

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

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