我对VBA知之甚少,但我正在尝试为excel工作簿设计用户表单。想法是单击按钮,调出用户表单,输入信息,单击“确定”,您的信息将正确格式化并插入到工作表中。
我有3种用户窗体,它们都可以正常工作,但是我创建的任何引用其中一种的宏都无法识别该特定用户窗体的存在。
我遇到问题的代码非常简单:
Private Sub LiquidFormButton_Click()
LiquidEntryUserform.Show
End Sub
编辑(更新):因此,我尝试使用不同的名称制作新的用户表单。我将所有控件从对象复制并粘贴到新的用户窗体,更改了宏的名称以显示用户窗体,瞧,它可以正常工作。但是,现在用户窗体本身不执行任何操作,因为没有控件实际上在它们后面有任何代码告诉他们该做什么。很好,我将复制损坏表单中的代码,BOOM现在不起作用。即使新的用户窗体和破损的用户窗体,实际上除了完成显示之外,还需要执行其他所有其他操作,因此用户窗体本身中非常非常简单的编码中的某些内容阻止了它的显示。稍后,我将在稍后涉猎后将完整的用户表单代码发布。谢谢!
您应该像这样“实例化”表格
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 =“在此处输入图像描述”>
我对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
希望对某人有帮助。