首页 > 解决方案 > 将动态控件添加到 Excel VBA 用户窗体中的框架时出错

问题描述

我有一个带有两个框架的用户窗体。让我们称它们为“Frame1”和“Frame2”。如果我使用类模块将控件添加到两个框架之一(我需要事件),那么我会收到运行时错误。

如果我在运行时删除“Frame2”或添加它,它工作得很好(没有解决方案..我需要两个框架中的控件)。

在下面的代码中,我什至不使用“Frame2”......仍然是同样的问题

如果我尝试将控件添加到在运行时添加的框架中,这也是同样的问题。如果我可以将它添加到在运行时创建的框架中,那将是最好的情况

用户窗体中的代码:

Option Explicit
Dim oKlasseExcel(30) As CControls

Private Sub UserForm_Activate()

  Dim i As Integer

    For i = 1 To 30
        Set oKlasseExcel(i) = New CControls
        Set oKlasseExcel(i).TestFrames = Me.Frame1.Controls.Add("Forms.Frame.1", , True)
    Next

End Sub

类模块“CControls”:

Option Explicit
Public WithEvents TestFrames As MSForms.frame


Sub TestFrames_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

    'Code after DblClick

End Sub

有谁知道为什么这不起作用?

标签: excelvbauserform

解决方案


推荐阅读