LoginSignup
3
11

More than 5 years have passed since last update.

高速VBAの作成のヒント、プロ以上の社内アプリを造ろう

Posted at

※記載内容はメモとして作成しているため、修正が必要な部分があるかもしれません。

VBA高速化のポイント

VBAの手作りのアプリを使っている会社は多いのではないでしょうか。
しかし、素人でも作りやすいためプロレベルというものは少ないです。

以下のポイントを守れば劇的にVBAを高速化することが可能です。

・配列を使う
・処理はメモリ内で実施するようにする
・新しいモジュールを採用する
・処理の重いオブジェクトの使用を避ける
・古いモジュールの使用を避ける
・メモリ使用量の少ないデータ型を使用する
・画像処理を避ける

どういうことでしょうか。
詳しく説明していきましょう。

エクセルのメモリ構造について簡単に記載します。

どんなアプリケーションも立ち上がると同時にメモリを予約します。
このメモリはデフォルトです。使っていくと追加されるアプリケー
ションもあります。

また、配列やデータもメモリを予約します。
エクセルはデータ型のメモリがいっぱいになるとエラーメッセージ
を表示してくれます。

新しいウィンドウでエクセルを立ち上げると、別のエクセルのインス
タンスが作成されます。

上記を踏まえてエクセルの動きをイメージしながらVBAを記述すれば
劇的に高速化することが可能です。

インスタンスレベルまでメモリを意識できればもうプロ以上です。
プロのアプリでもメモリまで意識したものは現状少ないです。
興味ある人はレベルアップのため調べてみればいいでしょう。
その際、データ型の予約メモリ領域の違いと配列から実験してみる
のがいいと思います。

メモリ内での処理の完結が多ければ多いほど、余計な動きが削除さ
れるのです。

これであなたもプロレベルの高速化が実現できます。
※VDIや別PCにあるVBAの場合、帯域制御によりそもそも高速化ができ
ない場合があります。まずはローカルで作成してみましょう。

3
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
11