Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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-将范围存储到用户类的范围属性中_Vba_Excel - Fatal编程技术网

VBA-将范围存储到用户类的范围属性中

VBA-将范围存储到用户类的范围属性中,vba,excel,Vba,Excel,我有一个具有以下定义的类: Private pvtRngTest1 As Range Public Property Get RngTest1() As Range Set RngTest1 = pvtRngTest End Property Public Property Set RngTest1(ByVal rng As Range) Set pvtRngTest1 = rng End Property 当我使用这个类时,我尝试: Sub FindAllTablesOn

我有一个具有以下定义的类:

Private pvtRngTest1 As Range

Public Property Get RngTest1() As Range
    Set RngTest1 = pvtRngTest
End Property

Public Property Set RngTest1(ByVal rng As Range)
    Set pvtRngTest1 = rng
End Property
当我使用这个类时,我尝试:

Sub FindAllTablesOnSheet(oSh As Worksheet)
    Dim oLo As ListObject
    For Each oLo In oSh.ListObjects
        MsgBox "Table found: " & oLo.Name & ", " & oLo.Range.Address
        Dim sr As SheetRanges
        Set sr = New SheetRanges            
        Set sr.RngTest1 = oLo.Range            
        MsgBox sr.RngTest1.Address
    Next
End Sub
我得到一个错误:objectrequired(在下一条语句的最后一行)


有人能帮我解释一下吗?我相信我正确设置了Range属性,设置时没有错误,但是我无法访问该属性的地址。

如上所述,这是输入错误。自从我研究VBA并忽略了选项显式的好处以来,大约有10年了S

如果您在每个模块的顶部使用了
选项Explicit
,您会自己发现一个输入错误`Set RngTest1=pvtRngTest`->`Set RngTest1=pvtRngTest1`,谢谢!我现在用它来避免另一个头痛。