0

こんにちは。ここの誰かが助けてくれることを願っています。Windows XP で Office 2010 を実行しており、モーダル フォーム (Form01) を表示するボタンを含む Excel ワークシートがあります。Form01 には、データの 3 つのリストボックスが含まれています。listbox2 の項目をダブルクリックすると、別のモーダル フォーム (Form02) が開き、項目を変更できます。Form02 をアンロードすると、データが保存され、いくつかのマクロが呼び出されて、ホスト ワークシートの名前付き範囲が調整されます。このコードは、フォームではなくモジュールに保存されます。

ここで問題が発生します。Form02 がアンロードされ、Form01 がアクセス可能になると、listbox1 または listbox3 の何も選択できず、Form01 のボタンも選択できません。最初に listbox2 で何かを選択する必要があり、それからフォーム上の他のコントロールにアクセスできます。他のコントロールで .SetFocus を試み、Form02.Show 1 ステートメントの後に DoEvents を追加しようとしましたが、うまくいきませんでした。私が見つけた唯一の回避策は、画面がちらつく原因となる Form01 を非表示にして再表示することです。Application.ScreenUpdating = False にして True に戻すことも役に立たないようです。Form02 が表示されてから閉じられたときに、他のコントロールにアクセスできないものを把握する必要があります。他の誰かがこの動作を経験したことがありますか、または提案がありますか?

4

1 に答える 1