Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何在函数内设置userform的属性_Vba - Fatal编程技术网

Vba 如何在函数内设置userform的属性

Vba 如何在函数内设置userform的属性,vba,Vba,在UserForm_Activate()代码中,我想调用一个函数(尚未创建)来设置UserForm的滚动属性。请参阅下面的代码 Private Sub UserForm_Activate() MakeFormResizable End Sub 在模块4表中,我有以下代码: Public Sub MakeFormResizable() Me.ScrollHeight = .Height Me.ScrollWidth = .Width End Sub 当我运行粘贴的代码时,我得

在UserForm_Activate()代码中,我想调用一个函数(尚未创建)来设置UserForm的滚动属性。请参阅下面的代码

Private Sub UserForm_Activate()
MakeFormResizable 
End Sub
在模块4表中,我有以下代码:

Public Sub MakeFormResizable()
    Me.ScrollHeight = .Height
    Me.ScrollWidth = .Width
End Sub
当我运行粘贴的代码时,我得到了错误“编译错误:无效或不合格引用”。

得到了

Private Sub UserForm_Activate()
Dim MyObject
Set MyObject = Me
MakeFormResizable MyObject 
End Sub

Public Sub MakeFormResizable(MyObject)
With MyObject
.ScrollHeight = .Height
End If
End With
End Sub

因为
Me
是本地的,所以它不起作用

也许您希望将Userform对象传递给公共子对象,如下所示:

Public Sub MakeFormResizable(ByRef aUserform As MSForms.UserForm)

With aUserform
    'Do your stuff
End With

End Sub