アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

コントロールボタンを消すときに、userform1が白抜きになってしまいます。

きれいにuserform2を消す方法をおしえてください。


Private Sub UserForm1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Unload userform2


End Sub

「エクセルのuserform1上に、コント」の質問画像

A 回答 (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

以上です。
    • good
    • 0

UserForm1.Repaint


では駄目でしょうか?

この回答への補足

ありがとうございます。

白抜けは直りました。

しかし、userform上にカーソルがあると、表示がブルブルいってます。

きっと、繰り返してUserForm1.Repaintが動いているのですね。

できれば、1度だけ、UserForm1.Repaintができれば、バッチリなのですが、

やり方がわかりません。

ご教授ねがいます。

補足日時:2010/03/09 16:18
    • good
    • 0
この回答へのお礼

ご教授のとおりにやってみたところ、

見事に出来ました。

本当にありがとうございます。

お礼日時:2010/03/10 13:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!