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

时间:2017-04-07 11:11:20

标签: 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 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

我收到错误:Object Required(在Next语句的最后一行)

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

1 个答案:

答案 0 :(得分:0)

如上所述https://stackoverflow.com/users/3598756/user3598756,这是错字。我看了VBA已经大约10年了,忽略了Option Explicit的好处。 :S