• ベストアンサー

Excel VBA ListBoxのマウスホイールでエラーになる

エクセルマクロでListBoxを使ったのですが、そのListBoxにフォーカスが当たっている状態でマウスホイールを回転させるとエラーになります。VB6.5でなるようです。回避策はないものでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

[win2000sp4/xl2000sp3/vba6.5 1024]の環境ですが ワークシート上に配置したMSForms.ListBoxで現象が確認できました。 マウスドライバは Logitech-compatible Mouse PS/2 です。 エラーメッセージは --------------------------- Microsoft Excel - listboxtest.xls - Safe Mode: EXCEL.EXE - アプリケーション エラー --------------------------- 例外 unknown software exception (0xc00000fd) がアプリケーションの 0x77e0a44b で発生しました。 プログラムを終了するには [OK] をクリックしてください プログラムをデバッグするには [キャンセル] をクリックしてください --------------------------- OK キャンセル --------------------------- --------------------------- Microsoft Excel - listboxtest.xls - Safe Mode: EXCEL.EXE - アプリケーション エラー --------------------------- "0x600c0af5" の命令が "0x0000004c" のメモリを参照しました。メモリが "read" になることはできませんでした。 プログラムを終了するには [OK] をクリックしてください プログラムをデバッグするには [キャンセル] をクリックしてください --------------------------- OK キャンセル --------------------------- こんなです。 excel listbox scroll error でGoogle検索すると http://groups.google.com/group/microsoft.public.excel.programming/browse_thread/thread/421cd54879f5545d/88bb2afe2bd60009?lnk=raot ここがヒットします。 参考になるかもしれません。 もし、私の環境と同じくワークシート上に配置したMSForms.ListBoxで発生していて、クラッシュを回避したい場合は [フォーム]のExcel.ListBoxを使うか、 ワークシート上にまずMSForms.Frameを配置して、その中にMSForms.ListBoxを置くと回避できるようです。 #ただし、マウススクロールは効きませんが。

xcdgc4890
質問者

お礼

ご回答ありがとうございます。マウスドライバは異なりますが、まさに同じ現象です。現象の再現に時間がかかったようであれば、説明不足ですみませんでした。ワークシートに直接ListBoxを貼りつけた場合に現象が出ます。ユーザーフォームでのListBoxでは現象が出ないので、ユーザーフォームに作り変えようかと思っていたところです。アドバイスを参考にどう対策するか検討させていただきます。ユーザーフォームならマウススクロールもMouseMoveイベントなどを捕まえて対応できそうなので。本当にありがとうございました。

関連するQ&A

専門家に質問してみよう