- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA ユーザフォームを非アクティブ固定にしたい)
VBAユーザフォームを非アクティブ固定にしたい
このQ&Aのポイント
- エクセルVBAで作成されたプログラムで、処理の進捗を表示しているユーザフォームのフォーカスが移動してしまう問題があります。
- 現在のコードでは、処理が進む度にユーザフォームにフォーカスが移るため、他の作業が不便です。
- ユーザフォームの進捗表示を確認しながら、フォーカスが移動しないようにするコードを探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
AppActivate Application.Captionで、エクセルに制御を戻せば良いと思います。 下記はご参考までに。 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub test() Dim i As Long UserForm1.Show vbModeless For i = 1 To 10 Sleep 5000 DoEvents UserForm1.Label1.Caption = CStr(i) UserForm1.Repaint AppActivate Application.Caption Range("A1").Value = i Next i End Sub
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No.1
シートにテキストボックスを配置し、そのテキストボックス内に表示させるようにすればフォーカスが移ってしまうといったことは起きません。検討してみてください。
お礼
ありがとうございます!いただいたコードで思うような処理になりました!ありがとうございました。