長期運用のわな、データ量増加でパフォーマンスが落ちるExcelファイルの対処方法:脱初心者! 1歩先を行くExcel VBA開発者のススメ(6)(2/2 ページ)
1つのExcelファイルを更新し続けると、データ量が増大してしまい、ファイルを開くのに時間がかかったり、マクロの実行速度が遅くなったりと、著しくパフォーマンスが落ちてしまいます。そのような問題が起こる前にできる対策を紹介します。
■データ量を抑えるためにすべきこと
あなたが作成したVBAシステムが日々データを蓄積していくものならば、運用をすればするほど、図2のように、そのパフォーマンスが低下していきます。
最悪の場合は、マクロ実行中にフリーズして計算結果やデータが損失することもあり得るでしょう。
まず考えるべき点としては、次のような工夫を凝らしてなるべくデータが増えないようにシステムを構築することです。
Check!
- 重複データは保持しない
- データの粒度を大きくすることを考える
粒度とは、データの細かさのことを指します。
例えば、「時」単位で集計しているデータがあれば、そのままシステムに取り込むと、最大で1日24件のレコードとなってしまいます。
しかし、システムに取り込む際に「日」単位に丸めて取り込むことができれば、最大で1日1件のレコードで済みますよね。
とはいえ、抑える努力をしたとしても、増えるものは増えていきます。
そして、運用上の限界がいつか到来します。その場合には、次のことを考えねばなりません。
Check!
- 一部のデータを破棄する
- 一部のデータを外部に保管する
外部に保管する場合は、図3のように複数のExcelファイルに分散して保管するという手法もよく見られます。しかし、それらのデータを集計したいときに不便です。
一方で、図4のように、Accessなどのデータべースに保管するという方法があります。
こちらであれば、より多くのデータを一元的に保管できます。Accessであれば、連携も容易ですし2GBまで保管することができますしね。餅は餅屋ということです。
いずれにしても、データが蓄積されるシステムであれば、次の点を事前に検討をして、備えておくべきなのです。
Check!
- どれほどのデータ量が、どれほどのペースで増えていくのか
- いつ頃に運用上の支障が出てきそうか
書籍紹介
ExcelVBAを実務で使い倒す技術
高橋宣成著
秀和システム 1,800円
苦労してExcelVBAの基礎を学んだのに、期待したほど仕事が楽にならない。実務で使っているうちに、気がついたらVBAが重荷になってきている。あなたは、そんな悩みをお持ちではないでしょうか。本書は、ExcelVBAを実務で使うことを前提に、現場で求められる知識と知恵を解説します。バグを素早く解決する、運用中のマクロを都度メンテナンスする、コードを継ぎ足して機能を足すテクニックなど、現場で必要なノウハウがわかります。
関連記事
- さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり - Excelデータの入力不備で計算エラーが発生して家に帰れない!――入力規則よりも簡単なチェックマクロとは
1つのExcelファイルを複数人で編集する場合、想定していたのとは違う形式でデータを入力されてしまい、不備が発生する可能性も少なくない。その問題をExcel VBAで解決するにはどうすればいいのだろうか。 - 一石二鳥で時間に余裕が!――面倒くさい見積書や請求書などの書類を自動作成するマクロとは
見積書や請求書、経費精算書などのさまざまな書類をExcelで作成している人は少なくありません。その書類を手で入力したりコピー&ペーストで作成したりしていては、人為的なミスが起こり、時間がかかってしまいます。今回はVBAで書類を作成する方法を紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.