这应该很简单,但无法正常工作。我在一个名为Master的工作表上有一个按钮,当单击该按钮时应显示一个用户窗体(名为AddApplicant)。该用户窗体包含一个列表框(名为lstCourses),我想在其中显示名为“课程详细信息”的工作表中的一些值。 “课程详细信息”工作表是通过编程方式生成的,但这应该没有影响,因为我将启动用户表单的按钮设置为仅在此工作表存在时启用。
当我尝试单击显示用户窗体的按钮时,出现应用程序定义或对象定义的错误。
问题似乎出在将范围加载到ListBox中的代码中,因为当我注释掉这些代码行时,表单就会显示出来。
Private Sub UserForm_Initialize()
Dim cell As Range
Dim cellList As Range
Set cellList = Worksheets("Course Details").Range(Range("A2"), Range("A2").End(xlDown))
For Each cell In cellList
lstCourses.AddItem cell.Value
Next cell
End Sub
'Here is the code assigned to the button that launches the form
AddApplicant.Show
答案 0 :(得分:0)
在这里为您清理几件事:
Dim cell As Range, cellList As Range
With Worksheets("Course Details") 'added this as you have range references without sheets
Set cellList = .Range(.Range("A2"), .Range("A2").End(xlDown))
For Each cell In cellList
lstCourses.AddItem cell.Value
Next cell
End With
这是从初始化运行的,因此您已经加载了工作表,因此无需再次.show
。
应该有一个单独的按钮,该按钮使用如下的宏读数:
sub uf_loader()
AddApplicant.Show
end sub