他の人が私のワークブックを使用していて、マクロが失敗した場合に問題に対処しやすくするエラーハンドラーを作成するときに使用する簡単なテクニックがあります。まったく危険なすべてのプロシージャには、ローカル文字列変数sOpが含まれています。この変数の値は、マクロコード中に次のように設定されます。

Dim sOp As String ...



...

sOp = "opening target file"

...



...

sOp = "counting lines already filled"

...



...

sOp = "copying source data table"

...



...

sOp = "saving and closing"

...

これらのステートメントは、コメントとして入力するだけですが、エラーが発生したときに、その時点で何が起こっていたかをユーザーに通知できるという利点があります。最も単純なエラーハンドラーには、次のような単一のステートメントを含める必要があります。

MsgBox "Procedure MyMacro failed while " + vbCrLf + sOp

sOpの値を使用して、次のアクション(再開、終了など)を決定することもできます。独自のマクロでこの手法を使用すると、マクロのデバッグが容易になり、ユーザーにとってより使いやすくなります。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2597)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。