Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 特定加载用户表单的索引_Excel_Vba - Fatal编程技术网

Excel 特定加载用户表单的索引

Excel 特定加载用户表单的索引,excel,vba,Excel,Vba,我在同一时间加载了同一userform的多个实例 他们每个人都有一个按钮 我需要做的是获取我单击其按钮的userform的索引 到目前为止,这是我的方法,但我在参考第6行时遇到了一个错误 Public Function UserFormInstance(ByVal objTargetUserForm As Object) As Long Dim strUserFormName As String For Each objUserForm In VBA.UserForms

我在同一时间加载了同一userform的多个实例

他们每个人都有一个按钮

我需要做的是获取我单击其按钮的userform的索引

到目前为止,这是我的方法,但我在参考第6行时遇到了一个错误

Public Function UserFormInstance(ByVal objTargetUserForm As Object) As Long
    Dim strUserFormName As String

    For Each objUserForm In VBA.UserForms
        strUserFormName = objTargetUserForm.Name

        If objUserForm.Name = strUserFormName Then
            UserFormInstance = UserFormInstance + 1

            If objUserForm = objTargetUserForm Then '==> Here is the problem
                Exit For
            End If
        End If
    Next objUserForm

    Set objUserForm = Nothing
End Function

Private Sub CommandButton1_Click()
    Dim xxx As Long
    xxx = UserFormInstance Me
    MsgBox xxx
End Sub

我需要你的帮助。谢谢。

要比较对象,您需要使用
Is
而不是
=

If objUserForm Is objTargetUserForm Then
    Exit For
End If

(您可能已经习惯于使用特殊对象
Nothing
,例如
如果objUserForm为Nothing,那么
,等等)

Wow。。那太容易了!非常感谢你。