即効テクニック |
ユーザフォーム上に配置したコントロールの上にマウスがかかったときに表示されるPopUpヒントのことをControlTipTextといいますが、ワークシート上のコントロールにはこのプロパティーが用意されていません。 ここではシート上にImageコントロールとコマンドボタンがあり、Imageコントロールの上にマウスがかかったときに”ボタンを押すと画像が表示されます”というヒントを表示する方法を考えます。 (サンプル)
'------モジュールレベル変数(Sheet)------ Private MyShape As Shape '----Image1のMouseMoveイベント--- Private Sub Image1_MouseMove _ (ByVal Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) If Not MyShape Is Nothing Then Exit Sub '複数表示防止 'Shapeを描画、テキストを表示して一定時間待機後削除 With ActiveSheet Set MyShape = .Shapes.AddShape(msoShapeRectangle, _ Image1.Left + X, _ Image1.Top + Y, _ 200, 15) End With 'Shapeにテキストを表示し、一定時間待機させた上で削除 MyShape.OLEFormat.Object.Text = "ボタンを押すと画像が表示されます" DoEvents Application.Wait Now + TimeValue("00:00:01") MyShape.Delete Set MyShape = Nothing End Sub