- 締切済み
エクセル VBAで 再計算をコントロールしたい
早速ですが。シートは ORGDATA と 計算 の2枚 ORGDATA は WEB経由で 秒単位で 7セルほどのデータを受信します。 それを、5分単位で データを集約し 7セルほどのデータとして、計算シートに コピーで 送ります。 計算シートは、生データは 7セルの 2万行 I列から BU列 50行?位数式が 埋まっています。 基本 ORGDATAシートは Worksheet_Calculate() で 受信しますので、計算を止められません。 で、計算シートの 再計算を止めて、データが送り込まれたとき(5分ピッチ)のみ 再計算させたい。 が リクエストです。 下記が やってみたことの要約です。 Workbook_Open() 5分タイマーセット Application.Calculation = xlCalculationAutomatic Me.Worksheets("計算").Select Me.Worksheets("計算").Activate ActiveSheet.EnableCalculation = False これが機能してないような?タスクバーに再計算してる%表示が出ている。 Me.Worksheets("orgdata").Select データ受信、5分後のタイマーで endsisu = keisan.Cells(1000, 2).End(xlDown).Row + 1 orgdata.Range("a4:g4").Copy Destination:=keisan.Range("b" & endsisu) keisan.Range("i" & endsisu - 2 & ":bu" & endsisu - 2).Copy keisan.Range("i" & endsisu & ":bu" & endsisu).PasteSpecial Paste:=xlPasteFormulas ここまでは 実行される。 下記のどちらかで VBエラー400(タイマーで 実行しているから) keisan.Range("i" & endsisu - 2 & ":bu" & endsisu).Select Selection.Calculate 要は OREGDATAは 常時再計算ON 計算シートは 常時再計算OFFで データが送り込まれた時だけ 再計算で 済んだら OFF が希望なのですが。 ご教示願えれば助かります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- karorumon
- ベストアンサー率26% (25/94)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1154475771 上記リンクが参考になるのかな?と思います。