Userform.Show在表单按钮上将无法识别用户表单,出现错误424

问题描述 投票:1回答:2

我对VBA知之甚少,但我正在尝试为excel工作簿设计用户表单。想法是单击按钮,调出用户表单,输入信息,单击“确定”,您的信息将正确格式化并插入到工作表中。

我有3种用户窗体,它们都可以正常工作,但是我创建的任何引用其中一种的宏都无法识别该特定用户窗体的存在。

我遇到问题的代码非常简单:

Private Sub LiquidFormButton_Click()

LiquidEntryUserform.Show

End Sub

编辑(更新):因此,我尝试使用不同的名称制作新的用户表单。我将所有控件从对象复制并粘贴到新的用户窗体,更改了宏的名称以显示用户窗体,瞧,它可以正常工作。但是,现在用户窗体本身不执行任何操作,因为没有控件实际上在它们后面有任何代码告诉他们该做什么。很好,我将复制损坏表单中的代码,BOOM现在不起作用。即使新的用户窗体和破损的用户窗体,实际上除了完成显示之外,还需要执行其他所有其他操作,因此用户窗体本身中非常非常简单的编码中的某些内容阻止了它的显示。稍后,我将在稍后涉猎后将完整的用户表单代码发布。谢谢!

excel vba excel-vba runtime-error userform
2个回答
1
投票

您应该像这样“实例化”表格

Private Sub LiquidFormButton_Click()

    Dim liquid as LiquidEntryUserform ' define a liquid var of the correct type
    Set liquid = new LiquidEntryUserform ' create the Form
    liquid.Show  'show it

    ' here you can still access variables 
    ' on the form
    If liquid.TextBox1.Text = "700" Then 
       'do things
    End if

End Sub

我的项目看起来像这样:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9yTmk4aS5wbmcifQ==” alt =“在此处输入图像描述”>

您可以使用对象浏览器(视图|对象浏览器或单击F2)查找项目中具有的窗体和类:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9mWktMSC5wbmcifQ==” alt =“在此处输入图像描述”>


0
投票

我对UserForm进行了一些更改后,也有类似的经历。我注意到在发生424错误之前,某些东西实际上正在工作。事实证明,使用F8遍历我的代码,原来我要配置的控件-我已删除!我在MS XL Objects工作表中使用了此代码(该按钮在关联的工作表上)...

Private Sub cmdTransactions_Click()
 frmTransactions.Show
End Sub

在Forms模块中显示UserForm和此代码...

Private Sub UserForm_Initialize()
: : :
Row_Number = [mostrecent].Value
Cells(Row_Number + 1, 2).Select   <<< this bit was happening (.Select works for me!!)
: : :
cmdReset.Enabled = False   <<< a control in the UserForm
chkDeposit.Enabled = False  <<< this control had been deleted!! Remarked out but un-Remarked for clarity 
: : : 
End Sub

希望对某人有帮助。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.