長期運用のわな、データ量増加でパフォーマンスが落ちるExcelファイルの対処方法:脱初心者! 1歩先を行くExcel VBA開発者のススメ(6)(1/2 ページ)
1つのExcelファイルを更新し続けると、データ量が増大してしまい、ファイルを開くのに時間がかかったり、マクロの実行速度が遅くなったりと、著しくパフォーマンスが落ちてしまいます。そのような問題が起こる前にできる対策を紹介します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『ExcelVBAを実務で使い倒す技術』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
※編集部注:前回記事「税率変更にも簡単に対応、無駄を減らすコーディングのコツとは」はこちら
膨らんでいくデータ量をどう取り扱えば良いのか
■データ量も意識すべき「変化」である
Excelは表計算のアプリケーションではありますが、その作りからデータべースとして利用することもできます。
理論上は、Excel2007以降であれば最大1,048,576行 × 16,384列のデータを蓄積できるのですが、その前に運用上の限界値に到達します。
というのも、Excelファイルのデータ量が増大していくと、著しくパフォーマンスが落ちてくるからです。
あなたも、容量の大きいExcelファイルを操作する際に、次のような経験があるかもしれません。
- ファイルを開くのにとても時間がかかる
- 行の挿入をしたらフリーズした
- 再計算が開始したが全く進まない
- マクロの実行速度がとても遅くなった
環境やデータの内容にもよりますが、数MB以上を超えてくると、パフォーマンスの低下を感じるかもしれません。
では、どれくらいのデータ量であれば、数MBの容量になるのでしょうか?
例として、100,000行×10列に数値を羅列しただけのExcelファイルを作成すると、ファイル容量は図1で示す通り、6MBをオーバーします。
筆者の環境では、このファイルを開くのに数秒がかかりました。
「10万行なんて、そうそう使わない」と思われるかもしれませんが、実はそんなことはありません。
例えば、毎日100行ずつ増えるのであれば次のようになりますから、2年10カ月ほどでに到達する行数です。
100,000行÷100行/日=1,000日
つまり、データ量が増えるという「変化」も見逃すわけにはいかないのです。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり - Excelデータの入力不備で計算エラーが発生して家に帰れない!――入力規則よりも簡単なチェックマクロとは
1つのExcelファイルを複数人で編集する場合、想定していたのとは違う形式でデータを入力されてしまい、不備が発生する可能性も少なくない。その問題をExcel VBAで解決するにはどうすればいいのだろうか。 - 一石二鳥で時間に余裕が!――面倒くさい見積書や請求書などの書類を自動作成するマクロとは
見積書や請求書、経費精算書などのさまざまな書類をExcelで作成している人は少なくありません。その書類を手で入力したりコピー&ペーストで作成したりしていては、人為的なミスが起こり、時間がかかってしまいます。今回はVBAで書類を作成する方法を紹介します。