vba excel用户表单赢得';不显示
大家早上好 我很难从中找到一个用户来显示 下面是我想使用的代码。我将Userfrom(oUserform)声明为公共变量,初始化它并进行更改,然后显示它 无论如何,这就是计划,但是我在userform.show中遇到一个错误,说该对象不支持该属性或方法vba excel用户表单赢得';不显示,excel,vba,userform,Excel,Vba,Userform,大家早上好 我很难从中找到一个用户来显示 下面是我想使用的代码。我将Userfrom(oUserform)声明为公共变量,初始化它并进行更改,然后显示它 无论如何,这就是计划,但是我在userform.show中遇到一个错误,说该对象不支持该属性或方法 Public oUserform As UserForm Public iNumberOfRecords As Integer Public iEndRow As Integer Sub subIntialize()
Public oUserform As UserForm
Public iNumberOfRecords As Integer
Public iEndRow As Integer
Sub subIntialize()
Set oUserform = frmbusinessimpact
iEndRow = Sheet1.Cells(1, 1).CurrentRegion.Rows.Count
iNumberOfRecords = iEndRow - 1
Call subPopulateRecordClass(iEndRow)
With oUserform
.TotalRecords = iNumberOfRecords
.CurrentRecord = 1
Call subUpdateUserform
End With
oUserform.Show
End Sub
有什么想法吗?您需要将
oUserform
声明为frmbusinessimpact
的一个实例,并使用New
关键字
Public oUserform As frmbusinessimpact
Public iNumberOfRecords As Integer
Public iEndRow As Integer
Sub subIntialize()
Set oUserform = New frmbusinessimpact
iEndRow = Sheet1.Cells(1, 1).CurrentRegion.Rows.Count
iNumberOfRecords = iEndRow - 1
Call subPopulateRecordClass(iEndRow)
With oUserform
.TotalRecords = iNumberOfRecords
.CurrentRecord = 1
Call subUpdateUserform
End With
oUserform.Show
End Sub
这本书有一个很好的章节介绍了如何以及为什么用这种方式编写用户表单。我有一个更具体的例子。什么是
frmusinessimpact
?它是现有表单的名称吗?是的。它没有初始化代码为什么不直接使用它而不是声明它?有什么特别的原因吗?这很有效!当我使用frmusinessimpact.show而不是oUserform.show时,它成功了!非常感谢。酷。很高兴它对你有用。不过,如果你想坚持自己的逻辑,你可以试试@Douglancy发布的内容:干杯