افراد دیگر از کتابهای کاری من استفاده میکنند و من تکنیک سادهای دارم که هنگام نوشتن کنترلکنندههای خطا از آن استفاده میکنم که در صورت شکست ماکروها، مقابله با مشکلات را آسانتر میکند. هر رویهای که ریسک بالایی دارد شامل یک متغیر رشته محلی به نام sOp است که مقدار آن در طول کد ماکرو به صورت زیر تنظیم میشود:
Dim sOp As String
...
[your code]
...
sOp = "opening target file"
...
[your code]
...
sOp = "counting lines already filled"
...
[your code]
...
sOp = "copying source data table"
...
[your code]
...
sOp = "saving and closing"
...
[your code]
این عبارات چیزی بیش از این نیستند که می توان به عنوان اظهار نظر درج کرد، اما آنها این مزیت را دارند که وقتی خطایی رخ می دهد، کاربر می تواند از آنچه در آن زمان در حال وقوع است مطلع شود. در ساده ترین حالت، کنترل کننده خطا فقط باید شامل یک عبارت واحد مانند این باشد:
MsgBox "Procedure MyMacro failed while " + vbCrLf + sOp
مقدار sOp همچنین می تواند برای تعیین اقدام بعدی (رزومه، خروج و غیره) استفاده شود. استفاده از این تکنیک در ماکروهای خود می تواند اشکال زدایی آنها را آسان تر و برای کاربران دوستانه تر کند.