Forms 鼠标悬停创建的对象(vba)

Forms 鼠标悬停创建的对象(vba),forms,vba,excel,userform,mousemove,Forms,Vba,Excel,Userform,Mousemove,嗯,我不是编程专家,所以我在vba代码上工作了一段时间,现在我在表单上“手动”放置了一些标签对象,方法是调用Me.Controls.Add函数,设置新的标签配置(autosize、width、pos等),将Active工作簿中单元格的值分配给标题 好的,直到那一天。但现在我想在这些新创建的标签上使用MouseMove效果,但我不能 还有一件事:这个Userform,我们称之为Userform X,从第一个Userform Y窗口初始化,在这个Y Userform中,我单击一个按钮加载并显示Use

嗯,我不是编程专家,所以我在vba代码上工作了一段时间,现在我在表单上“手动”放置了一些标签对象,方法是调用Me.Controls.Add函数,设置新的标签配置(autosize、width、pos等),将Active工作簿中单元格的值分配给标题

好的,直到那一天。但现在我想在这些新创建的标签上使用MouseMove效果,但我不能

还有一件事:这个Userform,我们称之为Userform X,从第一个Userform Y窗口初始化,在这个Y Userform中,我单击一个按钮加载并显示Userform X

因此,userformx在初始化时创建所有标签,然后再显示自己

我认为有一种方法可以“重新加载”或“刷新”用户表单X,它可以理解,因为创建的标签一直在那里,我可以在它们上面移动鼠标。但是怎么做呢

以下是代码的这一部分:

    Private Sub UserForm_Initialize()
        On Error Resume Next
        c = 0  'counting for labels name

        'Open source workbook 

        If Not IsWorkBookOpen.IsWorkBookOpen("Book.xlsm") Then
            Application.Workbooks.Open "Book.xlsm", , True
        End If
        Workbooks("Book.xlsm").Sheets(1).Activate
        ActiveSheet.Range("A1").Activate

        'Do the Addlabel 

        Do While ActiveCell.Value <> ""
            If ActiveCell.Value <> "Price" Then
                addLabel
                c = c + 1
            End If
            ActiveCell.Offset(0, 1).Activate
        Loop

        'Close source workbook
        Workbooks("Badges.xlsm").Close False 
    End Sub

Private Sub addLabel()
Dim theLabel As Object

Set theLabel = Me.Controls.Add("Forms.Label.1", "Procedimentos_Label" & c + 1, True)
With theLabel
    .AutoSize = True
    .Caption = ActiveCell.Value
    .Left = 10
    .Width = 100
    .Top = 100 + 20 * c
End With
End Sub
Private子用户表单_Initialize()
出错时继续下一步
c=0'标签名称计数
'开源工作簿
如果不是IsWorkBookOpen.IsWorkBookOpen(“Book.xlsm”),那么
Application.Workbooks.Open“Book.xlsm”,True
如果结束
工作簿(“Book.xlsm”)。工作表(1)。激活
ActiveSheet.Range(“A1”).激活
“请添加标签
当ActiveCell.Value“”时执行此操作
如果ActiveCell.Value为“Price”,则
添加标签
c=c+1
如果结束
ActiveCell.Offset(0,1).激活
环
'关闭源工作簿
工作簿(“Badges.xlsm”)。关闭假
端接头
私有子addLabel()
将标签变暗为对象
设置Label=Me.Controls.Add(“Forms.Label.1”、“Procedimentos\u Label”&c+1,True)
用标签
.AutoSize=True
.Caption=ActiveCell.Value
.左=10
.宽度=100
.顶部=100+20*c
以
端接头
这是一个Microsoft链接这是一个Microsoft链接