ちょっと教えてえろい人。m(_ _)m

現在、EXCEL2003で以下の処理をマクロで実行しようとしているのですが
1004のエラーが発生する場合と、発生しない場合とがあって困っています。
誰か考えられる原因を教えて下さい。

【環境】
EXCEL2003

「オートフィルター」を設定
「ブックの共有」、「ブックの保護」、「シートの保護」を設定

【条件】
「フィルター」を設定し、絞込みをおこなっておく。

【EXCEL終了前の処理】
Workbook_BeforCloseイベント内でFilterModeがTrueの場合には
ShowAllDataを実行して、全部のデータを表示してから保存後にEXCELを終了する。

【エラーの発生原因】
ShowAllDataを実行する際にエラーとなる