- Excel VBA 質問スレ Part35
121 :デフォルトの名無しさん[sage]:2014/11/12(水) 04:07:20.88 ID:44wGY+45 - >>112,114
どっから画面の前面になったのかによるけど フォームをクリックしたからって必ずしもActivateされるわけじゃないぞ
|
- Excel VBA 質問スレ Part35
122 :デフォルトの名無しさん[sage]:2014/11/12(水) 04:15:09.34 ID:44wGY+45 - >>113
UserForm1 Private Sub UserForm_Activate() MsgBox "1" End Sub UserForm2 Private Sub UserForm_Activate() MsgBox "2" End Sub ThisWorkbook ub test() UserForm1.Show vbModeless DoEvents UserForm2.Show vbModeless End Sub これでDoEventsの有りなしで俺の環境では動作が変わる 全ての環境でそうなるわけではないかもしれんが DoEventsなしでは"2"のMsgBoxは表示されない "1"のMsgBoxの前にForm2の表示が割り込むからだと思うが
|
- Excel VBA 質問スレ Part35
123 :デフォルトの名無しさん[sage]:2014/11/12(水) 04:23:58.14 ID:44wGY+45 - ああ、なんかSub test()のSが抜け落ちてる
>>115 前もどっかで同じ質問みたことあるけど どういう考え方をしたらDoEventsとSleepが同じ所があるように思うんだろ むしろ同じと思うところを言ってみてくれ そしたら違いを説明できるかもしれん
|
- Excel VBA 質問スレ Part35
126 :デフォルトの名無しさん[sage]:2014/11/12(水) 18:28:07.29 ID:44wGY+45 - >>124
>>122は、Activate実行されない状況と、それがDoEventsで直る例を示しただけ マウスクリックで前面にってのは、それがActivateを発生させると勘違いしてると思ってる
|
- Excel VBA 質問スレ Part35
127 :デフォルトの名無しさん[sage]:2014/11/12(水) 18:43:26.08 ID:44wGY+45 - >>125
フォームとワークシートの切り替えをVBAだけで検知するのは無理じゃないかな 切り替えただけでは何も起こってないと考えて その次の操作をとらえる方向で考えるしかないんじゃない
|