連載
» 2018年03月07日 05時00分 公開

脱初心者! 1歩先を行くExcel VBA開発者のススメ(6):長期運用のわな、データ量増加でパフォーマンスが落ちるExcelファイルの対処方法 (1/2)

1つのExcelファイルを更新し続けると、データ量が増大してしまい、ファイルを開くのに時間がかかったり、マクロの実行速度が遅くなったりと、著しくパフォーマンスが落ちてしまいます。そのような問題が起こる前にできる対策を紹介します。

[高橋宣成,著]

連載目次

ExcelVBAを実務で使い倒す技術

書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『ExcelVBAを実務で使い倒す技術』からの抜粋です。

ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。


※編集部注:前回記事「税率変更にも簡単に対応、無駄を減らすコーディングのコツとは」はこちら

膨らんでいくデータ量をどう取り扱えば良いのか

■データ量も意識すべき「変化」である

 Excelは表計算のアプリケーションではありますが、その作りからデータべースとして利用することもできます。

 理論上は、Excel2007以降であれば最大1,048,576行 × 16,384列のデータを蓄積できるのですが、その前に運用上の限界値に到達します。

 というのも、Excelファイルのデータ量が増大していくと、著しくパフォーマンスが落ちてくるからです。

 あなたも、容量の大きいExcelファイルを操作する際に、次のような経験があるかもしれません。

  • ファイルを開くのにとても時間がかかる
  • 行の挿入をしたらフリーズした
  • 再計算が開始したが全く進まない
  • マクロの実行速度がとても遅くなった

 環境やデータの内容にもよりますが、数MB以上を超えてくると、パフォーマンスの低下を感じるかもしれません。

 では、どれくらいのデータ量であれば、数MBの容量になるのでしょうか?

 例として、100,000行×10列に数値を羅列しただけのExcelファイルを作成すると、ファイル容量は図1で示す通り、6MBをオーバーします。

 筆者の環境では、このファイルを開くのに数秒がかかりました。

図1 Excel ファイルの容量 図1 Excel ファイルの容量
Excel ファイルの容量は6.03MB

 「10万行なんて、そうそう使わない」と思われるかもしれませんが、実はそんなことはありません。

 例えば、毎日100行ずつ増えるのであれば次のようになりますから、2年10カ月ほどでに到達する行数です。

100,000行÷100行/日=1,000日


 つまり、データ量が増えるという「変化」も見逃すわけにはいかないのです。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。