OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

再計算の自動化・手動化について。

  • 困ってます
  • 質問No.176331
  • 閲覧数756
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 32% (32/98)

Windows NTでExcel 2000を使っています。
Excel VBAでユーザー定義関数を作り、いろんな場合分けで計算できるようになったのはいいのですが、自動計算の Application.Volatile を文頭に置いているので操作のたびに再計算をして動作が遅くなってしまいました。この関数を使ったファイルに時間がかかるのは仕方ないことでも使っていないファイルまでたびたび再計算されてしまうのではさすがに困ってしまいます。数値を変更したときなど、自分の都合に合わせて再計算ができるようにならないものでしょうか。
他の方の質問を見たところ、文頭に手動化の文を置いて、最後に自動化の文を置くようアドバイスしてありましたがこれではファイルを閉じない限り再計算されないのではないかと心配になり、質問をしてみました。よろしくお願いします。(この文頭を持ったファイルを複数開いて作業しているのも関係あるのでしょうか?)
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル9

ベストアンサー率 55% (29/52)

EXcel2000は使ったこと無いのですが、97で私が使用している方法は、次のようなものです。
(1)文頭に Application.Calculation = xlCalculationManual(手動化)を置く。
(2)計算させたい個所に、Application.Calculate(再計算)を置く。
(3)文末に Application.Calculation = xlCalculationAutomatic(自動化)を置く。
これで手動化のまま再計算されるはずです。
補足コメント
Sheep17

お礼率 32% (32/98)

解答ありがとうございます。
ただちょっとわからないのは(2)の「計算させたい個所」とは具体的にどのあたりなのでしょうか?
計算式はIF構文とSelect Case…を組み合わせて作っているのですが
End Selectのたびに(2)を使えばよいのでしょうか?
お手数ですがよろしくお願いします。
投稿日時 - 2001-11-29 10:11:18
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル9

ベストアンサー率 55% (29/52)

どの時点で再計算が必要になるかによります。 IF構文とSelect Caseをお使いとのことですが、この構文の中でセルに数値を入力する作業をしている場合、それにより変更された計算結果を構文の中で必要としているのでなければEnd Selectの後ろでいいと思います。 計算結果を必要とするまで、むだな再計算を用いなくて済むようプログラミングすることが大切であろうと思います。 ...続きを読む
どの時点で再計算が必要になるかによります。

IF構文とSelect Caseをお使いとのことですが、この構文の中でセルに数値を入力する作業をしている場合、それにより変更された計算結果を構文の中で必要としているのでなければEnd Selectの後ろでいいと思います。

計算結果を必要とするまで、むだな再計算を用いなくて済むようプログラミングすることが大切であろうと思います。
お礼コメント
Sheep17

お礼率 32% (32/98)

ありがとうございました。とても参考になりました。
プログラミングについては必要個所だけかじった初心者なので
構文に必要・不必要の判断がまだまだ難しいのですが
これから色々勉強して使えるプラグラムを組めるようになりたいです。
投稿日時 - 2001-11-29 13:03:27

このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ