• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのuserform1上に、コントロールボタンを配置し、コントロ)

エクセルのuserform1上にコントロールボタンを配置しカーソルを持っていくと別のuseruform2が表示される方法

このQ&Aのポイント
  • エクセルのuserform1上にコントロールボタンを配置し、コントロールボタン上にカーソルを持っていくと、別のuseruform2が表示される方法を教えてください。
  • コントロールボタンを消すときに、userform1が白抜きになってしまう現象が起きます。きれいにuserform2を消す方法を教えてください。
  • どうすればエクセルのuserform上にコントロールボタンを配置し、カーソルを持っていくと別のuseruformが表示されるようになりますか?また、userform2をきれいに消す方法を教えてください。

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

  • ベストアンサー
  • mo2yakko
  • ベストアンサー率54% (30/55)
回答No.2

フラグで管理するのはどうでしょう? 変数の代用としてTAGプロパティを使用しています。 表示時にTAGに"1"をセットします。(モーダレスですよね?)  UserForm1.Tag = "1"  UserForm2.Show vbModeless   んでMouseMoveイベントを下記の様にします。 Private Sub UserForm1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)  If UserForm1.Tag = "1" Then   'アンロード時に0をセット   Unload UserForm2   UserForm1.Repaint   UserForm1.Tag = "0"  End If End Sub 以上です。

その他の回答 (1)

  • mo2yakko
  • ベストアンサー率54% (30/55)
回答No.1

UserForm1.Repaint では駄目でしょうか?

a26vNvvub
質問者

お礼

ご教授のとおりにやってみたところ、 見事に出来ました。 本当にありがとうございます。

a26vNvvub
質問者

補足

ありがとうございます。 白抜けは直りました。 しかし、userform上にカーソルがあると、表示がブルブルいってます。 きっと、繰り返してUserForm1.Repaintが動いているのですね。 できれば、1度だけ、UserForm1.Repaintができれば、バッチリなのですが、 やり方がわかりません。 ご教授ねがいます。

関連するQ&A