• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:関数、マクロ、条件付き書式。重いのはどれ?)

EXCEL関数・マクロ・条件付き書式の重さについて

このQ&Aのポイント
  • 関数、マクロ、条件付き書式のどれがもっとも重くなる原因なのか検討しています。
  • A~Zまでの24列の中に、1列だけボリュームのある文章が入ったレコードを処理する場合、関数、マクロ、条件付き書式のどれが適しているか検討しています。
  • EXCEL初心者がEXCEL2010とWindows7を使用しており、重い処理を軽減する方法を知りたいです。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>この間条件付き書式を付けたとたんにモッサリしたので1000件に減らし、 との事ですが、付けたのは条件付き書式だけなのでしょうか?  もしかしますと、条件付きではない通常の書式も使用していない範囲にまで大量に設定した事は無いでしょうか?  例えば条件付き書式か通常の書式を設定された際に、行数と列数が共に限られた長方形のセル範囲に限定して設定するのではなく、縦1列丸ごと(行数の指定無し)とか、横1行丸ごと(列数の指定無し)と言った直線状の範囲を指定して書式等を設定したりはされた事は無いでしょうか?  確かに関数や条件付き書式が原因で重くなる事は珍しい事では御座いませんが、重くなる原因と成り得る事はそれだけに限っている訳では御座いません。  例えばA列全体をまとめて選択してから、その選択範囲に対して書式を設定しますと、A1:A1048576の範囲内にある全てのセル、即ち1048576個のセルに対して書式が設定された事になりますから、例えセルの値が変化する箇所がたった1箇所であっても、Excelというアプリケーションがモニター上に表示する内容を決定する際には、A1セルからA1048576セルまでの1048576個のセルの表示内容をチェックし直す事になります。  例え関数や条件付き書式が設定されているセルが1000行目までしかなかったとしましても、通常の書式が1048576行目まで設定されていた場合には、Excelは毎回毎回1048576行目までのセルの表示内容を決め直している訳ですから、処理が重くなる訳です。  又、セルに入っているデータでは無いとは言え、書式設定の設定を記録しておいて表示に反映させるためにもデータが必要になりますから、書式(条件付き書式と通常の書式のどちらか一方でも)が設定されているセルの数が多ければ、その分だけファイルを保存したり開いたりする際にも時間を要する事になります。  試しに問題のシートを開いてから以下の操作を行ってみて下さい。 [ホーム]タブをクリック   ↓ 「編集」グループの中の[検索と選択]ボタンをクリック   ↓ 現れた選択肢の中にある[条件を指定してジャンプ]をクリック   ↓ 現れた[選択オプション]ダイアログボックスの中にある[最後のセル]にチェックを入れる   ↓ [選択オプション]ダイアログボックスの[OK]をクリック  するとExcelが現在実際に使用しているセル範囲の中で最も右下にあるセルが選択されます。  そのセルが例えセルに入っているデータとは関係が無いセルであっても、Excelはそのセルの所まで毎回チェックを繰り返している訳です。  その様な無駄な設定を削除するには、下記の参考URLのページに掲載されている方法を試してみて下さい。 【参考URL】  【Excel】なぜかやたら重いエクセルファイルを軽くする方法 - アメーバブログ   http://ameblo.jp/sugoikaizen/entry-11483781729.html  ワークシートの最後のセルを特定してリセットする - Office Support   https://support.office.com/ja-jp/article/%e3%83%af%e3%83%bc%e3%82%af%e3%82%b7%e3%83%bc%e3%83%88%e3%81%ae%e6%9c%80%e5%be%8c%e3%81%ae%e3%82%bb%e3%83%ab%e3%82%92%e7%89%b9%e5%ae%9a%e3%81%97%e3%81%a6%e3%83%aa%e3%82%bb%e3%83%83%e3%83%88%e3%81%99%e3%82%8b-c9e468a8-0fc3-4f69-8038-b3c1d86e99e9?ui=ja-JP&rs=ja-JP&ad=JP  Excel で最後のセルをリセットする方法 - Microsoft Support   https://support.microsoft.com/ja-jp/kb/244435

urbanite
質問者

お礼

ご回答ありがとうございます。 1000件でもセル内の文章が多かったり、条件付き書式が1000件全部に付いていたり、30列×1000行のテーブル内の1列に”1”が付いていたらその行全体を色付けするなど。。。 重くなるのは当たり前でしょうか。 マクロもシンプルに、件数も100件程度に絞って再度やってみます。 ありがとうございます!

その他の回答 (2)

noname#245936
noname#245936
回答No.2

余談ですが、マクロで処理前に画面更新をオフ、処理後にオンにする命令を入れるととても速くなります。

urbanite
質問者

お礼

ご回答ありがとうございます。 それは先日同僚に教えてもらってやりました。 体感すごく早くなりますね!

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

条件付き書式で数式を使っていると1つのセルの変化でもすべての数式について再計算を行うので負荷が大きくなります。 対策としては自動再計算をOFFにして必要の都度F9キーの打鍵で再計算させると負荷が軽減されます。 マクロはイベントが発生する度に実行されるだけなので負荷は小さいと思います。

urbanite
質問者

お礼

ご回答ありがとうございます。 確かに条件付き書式を入れたとたんに重くなったので、原因は書式なのだと思います。 でも書式は変えられないので、件数を減らして色々試してみます。 ありがとうございます!

関連するQ&A

専門家に質問してみよう