我同时加载了同一用户表单的许多实例。
他们每个人都有一个按钮。
我需要做的是获取我单击其按钮的用户表单的索引。
这是我到目前为止的方法,但我在提到第 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
执行此操作,例如 If objUserForm Is Nothing Then
等)