2016-04-26 17 views
0

分散平均を使用した単純計算ではない複雑なワークブックがあります。ワークブックの最後には、特定のセルに結果として得られる値があります。ワークブックがその値を少しずつ変更する度に再計算されます。新しいセルに再計算するたびにこれらの値をすべて保存できる方法はありますか?理想的には、可能な値に対してグラフをプロットして平均を得るために100回以上これをやりたいと思います。Excel - 計算結果を別のシートに新しい行として保存する

マクロはこのジョブを実行できますか?もしそうなら...どこから始めるの?

ありがとう!

+0

VBAが最適な方法です。手動で再計算するようにワークシートを設定します。マクロをボタンにつなぎます。マクロを使用すると、ワークブックは一度計算され、指定された範囲内の次の空白セルに単一の値が配置されます。この範囲は、グラフのデータ系列の一部として事前に設定できます。データシリーズはVBAスクリプトにも関係します。ただ一つの潜在的なアプローチ。再計算の原因は何ですか?私はそれがすべてのシートrecalcで新しい番号を生成するRND関数の1つであるかどうか疑問に思っています。もしそうなら、それは動かすことができた。 –

答えて

1

WorkbookCalculateイベントを購読する必要があります。これを行うには、ALT + F11を押してVBEを開きます。左側にProject Explorerツリービューが表示されます(表示されていない場合は、CTRL + Rを押してください)。 ThisWorkbookを右クリックし、次にView Codeを選択します。テキストエディタウィンドウが開きます。このウィンドウの上部には、2つのドロップダウンボックスがあります。左のプルダウンでWorkbookを選択します。右のプルダウンでSheetCalculateを選択します。

ここで、ワークブックは各計算でアクションを実行します。以下に、サンプルスクリプトがあります。 Sheet2には式があり、これには履歴が必要です。必要に応じてコードを適用できるかどうかを確認したり、必要に応じて詳細な情報を入手してください。

Private Sub Workbook_SheetCalculate(ByVal Sh As Object) 
    Dim sData As Worksheet 
    Dim nNewRow As Long 

    Set sData = Worksheets("Sheet2") 
    nNewRow = sData.Cells(Rows.Count, 1).End(xlUp).Row + 1 

    sData.Cells(nNewRow, 1).Value = sData.Range("A1").Value 

End Sub 
関連する問題