如何将范围对象传递给 VBA 中的 属性?
How do I pass a range object to a property in VBA?
虽然彻底搜索,但我没有通过 属性 将范围传递到用户表单。我得到了所需的错误对象。代码在用户窗体内部,参数 prange 是全局的。任何帮助将不胜感激。谢谢
Public Property Get MyRng() As Range
Set MyRng = r1
End Property
Public Property Set MyRng(ByRef prange As Range)
Set r1 = prange
End Property
这应该是用户表单中的代码
Option Explicit
Dim mRng As Range
Public Property Get myRng() As Range
Set myRng = mRng
End Property
Public Property Set myRng(nRg As Range)
Set mRng = nRg
End Property
举个简单的例子
Option Explicit
Sub Test()
Dim frm As UserForm1
Dim rg As Range
Set frm = New UserForm1
Set frm.myRng = Range("A1")
Set rg = frm.myRng
Debug.Print rg.Address
End Sub
虽然彻底搜索,但我没有通过 属性 将范围传递到用户表单。我得到了所需的错误对象。代码在用户窗体内部,参数 prange 是全局的。任何帮助将不胜感激。谢谢
Public Property Get MyRng() As Range
Set MyRng = r1
End Property
Public Property Set MyRng(ByRef prange As Range)
Set r1 = prange
End Property
这应该是用户表单中的代码
Option Explicit
Dim mRng As Range
Public Property Get myRng() As Range
Set myRng = mRng
End Property
Public Property Set myRng(nRg As Range)
Set mRng = nRg
End Property
举个简单的例子
Option Explicit
Sub Test()
Dim frm As UserForm1
Dim rg As Range
Set frm = New UserForm1
Set frm.myRng = Range("A1")
Set rg = frm.myRng
Debug.Print rg.Address
End Sub