|
▼Yoshie さん:こんちゃ
久々に回答にやってきた ねこ@江坂です。
>リストボックスを使うとどうしてもEXCELが飛んでしまいます。
>
>回避方法や何か情報がありましたら教えてください。
>
>再現方法
>
>1.ワークシートにリストボックス(ListBox1)をおく。
>2.リストボックスの中身はEXCELが起動したときに入れる。
>
>Private Sub Workbook_Open()
> With Sheet1
> .ListBox1.AddItem "Sheet2"
> .ListBox1.AddItem "Sheet3"
> .ListBox1.Activate
> .ListBox1.ListIndex = 0
> End With
>End Sub
>
>3.ListBox1のKeyDownイベントで以下のように記述する。
>
>Dim Myws as Object
>
>Set Myws = WorkSheets("Sheet2")
>Myws.Activate
>Myws.Range("A1").select
>Set Myws = nothing
>
>4.一度ファイルを保存し、閉じて再度このファイルを起動する。
>
>5.実行モードでリストボックスのSheet2の場所でENTERを押す。
>[結果]
>Sheet2がアクティブになりカーソルもA1にいるが、
>瞬時に、問題が発生したためMicrosoft Excel for Windowsを終了します。
>というメッセージが出てExcelが飛びます。
>
>ちなみにリストボックスの代わりにコマンドボタンを使った場合は
>飛びません。
>
>以上、よろしくお願いします。
>
>開発環境:WinXp Professional + Excel2000
たぶんですが…
KeyDownイベントにしているてめにExcelがオブジェクトを見失うからでしょう。
KeyUpイベントにするわけにはいかないですか?
じゃねじゃね
|
|