我已经创建了一个带有comboBox的UserForms(下拉列表)。 而且我还在模块中编写了sub。
我想在子窗体的一个步骤中调用用户窗体,例如Inputbox。
用户表单
我已经用用户代码编写了Public Sub UserForm_Initialize()
Public Sub UserForm_Initialize()
Dim t
UserForm.Show
t = ComboBox1.Value
End Sub
我在模块中的代码:
Sub Ingestion()
Dim x, z
Dim rRange
Sheets("Time Log").Select
x = Range("H300").End(xlUp).Row
If Range("A" & x).Value <> "" Then
z = InputBox("Please confirm the Task type")
Range("B" & x) = z
End If
End Sub
现在,我想将“输入”框更改为组合框。
但是如果我在模块中调用它,则会抛出错误:
Sub Test()
Call UserForm_Initialize
End Sub
Sub or Function Not Defined
基本上,我正在尝试创建带有下拉选项的输入框。
答案 0 :(得分:0)
UserForm_Initialize
事件在用户表单初始化后立即执行。因此,尝试在已打开UF时显示它是不合逻辑的。紧接着,您必须引用正确的UF名称,在这种情况下,这将导致TaskList.Show
。
您可以打开用友代码模块的用友外部。例如
Sub openUF()
TaskList.Show
End Sub
然后,您可以在UF模块中执行代码。这些通常绑定到UF上的对象,例如:
Sub CommandButton_Click() 'in case the UF has a command button and a combobox
MsgBox "You picked '" & Me.ComboBox1.Value & "'.", vbInformation, "Help"
End Sub