2014-10-10 185 views
1

我有一個類InsertInfo與Properrty分配範圍類屬性

Private myPPTRange As Range 

Public Property Get PPTRange() As Range 
PPTRange = myPPTRange 
End Property 
Public Property Set PPTRange(ByVal value As Range) 
myPPTRange = value 
End Property 

現在我想將範圍分配給它

Sub test() 

Dim objInfo as New InsertInfo 

    Set objInfo.PPTRange = ThisWorkbook.Worksheets("Tab").Cells(1,2) 

End Sub 

通常一個細胞的一系列分配工作正常代碼但在上面的情況我總是得到錯誤:

"Objectvariable or with-blockvariable not set" 

所以對我來說它看起來像它有東西與類屬性做,但我不明白什麼是問題。任何人都可以幫助我嗎?

編輯:

Dim rngTemp as Range 
Set rngTemp = ThisWorkbook.Worksheets("Tab").Cells(1,2) 

工作正常BTW。所以它看起來好像我必須調整我的類屬性。我已經嘗試了一個ByRef而不是ByVal,但仍然收到錯誤消息。

回答

0

在分配給範圍對象時,您需要使用Set

myPPTRange是一個範圍。因此,在您的班級模塊中,將行myPPTRange = value更改爲Set myPPTRange = value

+0

非常感謝!這工作正常! – ruedi 2014-10-10 13:42:57

0

除了在您的屬性中使用SET之外,還可能需要使用兩行而不是單行定義語法來定義對象。

Dim objInfo as InsertInfo 
set objInfo = New InsertInfo