' [458.xls] ' [Module1] のコード '★★☆ MouseMoveイベント ☆★★ Option Explicit Sub start() UserForm1.Show End Sub ' [UserForm1] のコード Option Explicit Dim a As Long 'ラベル上をマウスカーソルが通過いているときに連続して発生するイベント Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Me.BackColor = RGB(30, 150, 30) Me.Caption = "緑を通過中" Beep End Sub Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Me.BackColor = RGB(240, 20, 40) Me.Caption = "赤を通過中" 'Beep音を鳴らす Beep End Sub Private Sub UserForm_Initialize() Label1.Caption = "緑 & Beep" Label2.Caption = "赤 & Beep" Label1.BackColor = RGB(240, 200, 110) Label2.BackColor = RGB(240, 200, 110) Me.BackColor = RGB(240, 200, 110) End Sub 'ユーザーフォーム上をマウスカーソルが通過いているときに連続して発生するイベント Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim mx As String Dim my As String 'マウスカーソルの座標値の取得してその桁数を揃えた文字列に変換 '連続で変化する数値が見にくくなるのを防ぐ mx = Format(X, "000.0#") my = Format(Y, "000.0#") If X < 1 Or Y < 1 Or X > Me.Width - 6 Or Y > Me.Height - 20 Then Me.BackColor = RGB(240, 200, 110) Me.Caption = "マウス位置はイベント感知外です" Else Me.BackColor = RGB(140, 100, 255) Me.Caption = "マウスX座標値 " & mx & " マウスY座標値 " & my End If End Sub