• ベストアンサー

エクセル 関数とVBA

 初めまして、全くの素人質問で申し訳ありません。  現在エクセルで大量のデーターを大量の関数式で計算をしていますが、いちいち算出するのにかなりの間隔(時間)がかかります。そこで関数式ではなく、VBAなるモノならばサクサクと瞬時に計算で導き出せるのでしょうか。また、現時点では関数式でさえまともに入力できない状態で、VBAなるモノを勉強すれば素人でも使いこなせるでしょうか、回答よろしくお願いします。

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

  • ベストアンサー
  • BleuLune
  • ベストアンサー率57% (15/26)
回答No.1

結論から言わせてもらうと、 あなたの推察どおりVBAに処理させるほうが速くなります。 下記に理由を説明します。 ・Excelデフォルト設定では、「計算方法」が自動になっています。 これは、Excelを操作するたびにすべての関数を再計算することを意味しています。 つまり、Excelファイルに関数が10個ある場合と10000個ある場合で、再計算すると、当然CPUにかかる作業量が違ってきますよね?(たとえが極端ですが。。。) あと補足になりますが、VBAの中でも関数を使用できるので、両方使いこなせるほうが良いですよ。

kei__2000
質問者

お礼

 回答ありがとうございます。やはりVBAに処理させるほうが速くなるようですね。

その他の回答 (3)

noname#79209
noname#79209
回答No.4

> 大量の関数式で計算をしています > 現時点では関数式でさえまともに入力できない状態 だとすると、数式自体も非常に効率の悪い方法を採られていることも充分考えられます。 差し支えなければ、数式の一部なりとも公開されると、良いアイディアが提示されるかもしれません。

kei__2000
質問者

お礼

 回答ありがとうございます。確かに効率の悪い方法をしているかもしれません。数式も多数の種類を複数使用しているために、公開し助言を求めることも難しいと思います。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

データが変化すると、全ての関数を再計算をする仕組み関数の不利もありますが、VBAでもプログラムの組み方が下手なものがやると関数ほど早く処理できない場合も考えられる。 その辺のことは一般論だけでなく、具体的な関数設定状況も捉えた上で、関数、VBAともに熟達のもので無いと、ものが言えないかもしれない。 この質問は>大量のデーターを大量の関数式で計算 と言っているものの、式の複写でほぼ全セルに式があるのか、関数の種類が違うのか、関数が実行時間がかかるタイプのものか良くわからない。 ーー VBAが良いからといって、半年ー1年ぐらいの学習では、ろくにVBAが判らないと思います。VBAのメソッドやプロパティだけでなくプログラムのコツというものは、システム会社などで、周りに判っている人がいて、どうしてもやらなければならないような場合で無いと、短期間では習熟は無理と思う。

kei__2000
質問者

お礼

 回答ありがとうございます。VBAを取得するには難しいと思いますが、なんとか努力してみたいと思います。

  • YSNR-HRN
  • ベストアンサー率36% (40/111)
回答No.2

今はenterを押すたびに全数式を計算する「自動計算」になっています。「手動計算」にすれば自動計算による手待ちはなくなります。 ツール>オプション>計算方法で「手動」にチェックを入れます。 VBAもこれと同様マクロ起動時に計算するので手待ちがなくなりますが、計算量が多いとそれなりに時間がかかります。「サクサクと瞬時に」は計算量、マクロのコードの巧拙にかかっています。 素人のままでは使いこなすのは厳しいですが、仕事を改善したいという熱意をもって勉強すれば、必ず使えるようになると思います。 やる前から迷わずに、とにかく取り組んでみてください。手に負えんとおもえばあきらめるだけのこと。 マクロ 入門 エクセル でGoogle検索。

kei__2000
質問者

お礼

 回答ありがとうございます。手動計算にすれば、少しは作業のストレスが減るかもしれませんね。

関連するQ&A

専門家に質問してみよう