Excel VBA > VBA:実務活用 > 「エラー」と言われても自分のPCでは動くとき
このエントリーをはてなブックマークに追加

「エラー」と言われても自分のPCでは動くとき

エラーが発生したと言われても私のPCでは動くけど・・

Excel VBAだけに限った話ではないですが、お客様に提供したプログラムが動かないということがあります。エラーといわれるとある種の「ドキッ」感がたまらなく嫌ですが、今回のタイトルのように「自分のPCでは動くが、相手のPCでは動かない」というのは、ほっとする一方で解決が難しくもっと嫌なものですね。

疑わしきNo1はExcelのバージョン

経験的にですが、このような特定のPCで動かないときは他のPCでまずテストしてみます。こうすることで「特定のPC」の意味が実は「私のPCでしか動かない」という意味に変わることに気づいたりします。
いずれにしても、最も怪しいのはExcelのバージョンです。まずはここを疑ってみることをお勧めします。弊社でもこれまで効率化させるために様々なプログラムを作っていますが、Excel2003からExcel2007への移行時に実に多くのエラーが発生しました。特定のPCでしかエラーが発生しない場合の原因のほとんどがこのバージョンの違いだと思っています。

コードからはライブラリファイルも疑う

VBAエディタから「ツール」→「参照設定」でライブラリを使う場合は、通常はアーリーバインディングでコーディングすると思いますし、エラーになるとハイライト表示されてエラーとなる原因に気づくと思います。
ライブラリファイルの場合は、VBAのプログラムを実行するPCのインストール環境によって変わってくるのでとても面倒な部分です。逆に言えば、どのPCでもあるだろうライブラリを使うことを意識した方がよいとも言えます。

Excel2010のライブラリ画面だが、この限りではない

同じPCでもエラーがあったりなかったり・・

こちらも実際に合った問題ですが、1つのPCでも処理が完了するときと完了しないときがあります。これはExcelの問題というよりもOSやPCのスペックに関係する問題と思われます。以前フォーム画面を表示するときに、非常に負荷の高い処理を行ったときに、画面が表示されず、エラー画面も表示されないという問題がありました。この時、PCを再起動し、Excelだけ起動して実行すると動いたという問題です。怪しい部分を修正したところ連続して動くようになりました。これも非常に厄介ですが、PCによっては同じPCでも動くときと動かないときがあるということを知っておく必要がありそうです。

設定の違いも疑う

こちらもバージョンの違いから派生したもので、一見気づきにくい部分です。一つずつ設定を変えて試して気づいたエラーでした。
ファイルを保存するとき、下記の設定にしていてエラーになりました。

このようなエラーはおそらく多くあるエラーの1つと思われます。ただし、同じバージョンでもパッチが充てられていると、動作も変わってくるため腹立たしいほど難易度が増してきます。
そのため、原因にたどり着くのに非常に時間がかかることが考えられます。特に特定のPCでエラーが発生するのは、原因を突き止めるのに非常に多くの労力が伴いますが、一つずつ確認していくほかにないと思います。

カテゴリ:VBA:実務活用