2014-02-17 68 views
0

我得到runtine錯誤91:對象vriable或塊變量沒有設置,當我運行一個簡單的類操作代碼。類屬性錯誤VBA

這裏是我的班

cTask:

Private pMile As cMile 

Public Property Get Mile() As cMile 
    Set Mile = pMile 
End Property 

Public Property Set Mile(Value As cMile) 
    Set pMile = Value 
End Property 

Private Sub Class_Initializer() 
    Set Me.Mile = New cMile 
End Sub 

cMile:

Private pstatus As String 

Public Property Get status() As String 
    status = ppstatus 
End Property 

Public Property Let status(Value As String) 
    pstatus = Value 
End Property 

和子:

Sub testt() 

    Dim ct As New cTasks 

    ct.Mile.status = "compl" 

    Debug.Print ct.Mile, ct.Mile.status 

End Sub 

的代碼從子去了get財產在cTask。當即將執行「End Propety」行時,彈出錯誤。

我猜想我的班級一定是錯的,但我不知道是什麼。我剛剛開始使用類。有任何想法嗎?

謝謝

+0

'Debug.Print ct.Mile'不起作用,就像你想要打印'Workheets.Name'。您必須指定哪個工作表「工作表(1)。名稱」。爲此,「工作表」必須是工作表集合,所以'Mile'應該也是。 –

回答

1

你有一個錯字:

Class_Initializer() 

應該

Class_Initialize() 

這可以防止ctMile被創建的,因此訪問它引發你看到的錯誤。

ppstatus也拼寫錯誤。

+0

對不起,這是愚蠢的 – user2385809

+0

但我可以設置不同的類cMile爲一個給定的ct然後多個屬性狀態爲每個? – user2385809

+0

我的問題我想是如何在沒有cTask的情況下重新初始化一個新的cMile類,以及如何將它命名爲sub,而不會丟失其他cMile? – user2385809