見出し画像

ファイル エラー ~VBA、つまづいたポイント

ブックを開く時、「ファイル エラー:データが失われた可能性があります。」の表示がでました。
初めてか、相当久しぶりに見るエラーです。

エラーは出てますが、ブックを開くことはできます。
一見、これまで通りですが、VBAを動かすと、シートのコピーの所でエラーが出て止まります。
止まった原因は、起動時に出た「ファイルエラー」であることは明らかですが、そこはやっぱりエラーが出たコードを確認してみることになります。
書いた時期が昔であればあるだけ、自分で書いたはずのコードの解析に時間がかかりますね。
当時苦労したことも甦ってきます。
ただし、やっぱり、そこに原因はなさそうです。

ブックを開くとき「修復して起動する」という選択肢があるので、そちらで、開き直してみると、今度は、先ほど止まった部分も止まらずに、ちゃんと動きます。
やれやれと思って、数人分を入力したところで、自動でセルに入力されるはずのデータが、無視されていることが分かりました。
参照シートのコメントを取得して、別のシートに書き込むのですが、コードを見ても特に問題ありません。そもそもエラーでは止まりません。
それで、参照シートを確認してみると、
空白でないセルに入力してあったコメント?メモ?が全て消失していました。
ファイルエラーの「データが失われた」というのはこういうことか。
バックアップの参照シートと差し替えると、正常通り動作しました。

ファイルエラーが出たら、VBAのコードではなく、まず、失われたデータが何か、隅から隅まで確認する必要がありますね。
ただ、シートの数も多く、それぞれがスクロールしないと確認できないようなら、「隅から隅まで」見て確認するなんて現実的ではありません。
バックアップファイルとの差分を調べるプログラムが必要になるでしょう。

何より肝腎なのは、データが失われた原因ですが、思い当たるふしがあります。
傷病名を整理するフォームを改善するべく、コードをいじっていたので、その綾で壊れたのでしょう。
そちらは、急がないので、一旦中断して、これから始まる点数改定作業がひと段落してから、「綾」の突き詰めることにします。

ファイルエラーは、オートメーションエラーと違って、「そのうち直るだろう」という対応ではダメなことが分かりました。

この記事が気に入ったらサポートをしてみませんか?