シート1にデータ入力をし、シート2・シート3シート4に入力データを多くリンクさせると、ブックを開く時間が長くなったり、データ入力時にカーソルの動きがが遅くなります。何かいい方法を教えてください。(VBAを使った方法でもいいです)


現在の状況
・データのリンク(=A12等で処理)
・データをリンクさせ関数も多く使用している
・印刷処理として、VBAを使用している
・エクセル2002を使用

A 回答 (2件)

処理の内容、データ量が不明なので何とも言えませんが、色々見てきた経験です。



重たくなっているシートを見ると(思いつくままに・・・)

 (1)今不要な算式が多量に登録されている。
     事前に1年365日分の算式を数年分登録しているような例です。
 (2)複雑な算式を数千行にわたって登録している。
     数値計算を順番に行っていくような場合です。
 (3)8桁数値から年月日を求める時など、作り手により処理時間に差が出ます。
 (4)関数や書式で解決するのにやたら複雑な手順になっている。
 (5)過去の計算結果は不要なのに再計算している。
     日単位の処理なのに前日までのデータの再計算をしている。
 (6)VlookUpで多量に参照している。
 (7)VlookUpが多量にあり、参照元が増減、変更される
 (8)配列数式を使えば間単になるが分からないケース
 (9)(1)から(6)の組み合わさったケース
 (10)その他?

対応策?
(1)と
(2)入力と出力を分け、計算が必要な時にマクロで算式をコピーしたり、
   モジュール内で計算し、値を出力したりすると早くなります。
   ユーザー定義関数を使えば速くなるかもしれません。分析ツールには遅い関数もあります。
(3)算式で年月日にしないで事前に年、月、日に分割しておく
(4)日付・時刻の計算や文字列操作関数は余り使われていない。
   ゼロの表示を算式で行っているのもよく見ます。大体書式で解決します。
(5)表計算だからしかたない?データベースなら前のデータは意識していないですよね。
   過去を引きずらないように複数シートに展開する方法もあります。
(6)これはよく見ます。VlookUpは計算が遅い気がします。多量には使わない方がいいでしょう。
   多量に使う場合は、計算後、コピーして値にして同じ箇所に貼り付けてしまいます。
(7)参照元を変えるとVlookUpが多量にあると時間がかかるでしょう。余り使いません。
   IndexでいいのにVlookUpを使っているのも見ます。
(8)説明しづらいですが、複数条件の計算などが簡単にできることがあります。
   知らないと、とんでもない大げさな処理になることもあります。

計算を手動にすると効果があるかもしれません。
見当違いかもしれませんが気が付いたことを書いてみました。

会社ではExcel97、PCは133Mzの古い機種ですが、数千件~数万件の計算でも余りストレスは感じていないですね。(長いときにはコーヒーを飲んだり、煙草を吸ったりしているから?)ご参考に。
    • good
    • 0
この回答へのお礼

今関数等をチェックしていますが、なかなか、原因の箇所がわかりませんが、原因の箇所が特定できたら、また質問しようと思います。そのときはよろしくお願いします。
それと、いつもnishi6さんには、ご回答いただきありがとうございます。
これからもよろしくお願いします。

お礼日時:2002/01/23 20:13

入力時に早ければいいのですね?(私のは2000ですが同じだと思います)



簡単な方法として

ツール - オプション - で計算方法のタグをクリック
計算方法を“手動”にします。保存前の再計算はチェックを入れておいたほうがいいでしょう。

これで入力時のイライラはなくなります。

印刷前等に再計算(f9)をさせればOKです。
    • good
    • 0
この回答へのお礼

試してみました(少し良くなりました。)
ありがとうございます。

お礼日時:2002/01/23 20:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ