2016-08-04 82 views
0

我已經很難處理錯誤438.我試圖將薪水屬性保存到集合中的每個員工。運行時錯誤'438':對象不支持此屬性或方法vba

Public Sub Click() 
    Dim employee As Collection 
    Set employee = New Collection 
    Dim n As Integer 
    Dim i As Integer 
    Dim E1 As Variant 
    Dim j As Integer 
    n = 528 
    Dim t As String 

    For i = 3 To n 
     t = "T" + CStr(i) 
     Set E1 = New clsEmployee 
     E1.salary = Sheets("A").Range(t).Value 
    Next i 

    End sub 
+0

這裏沒有任何代碼可以將任何東西添加到'員工'集合 – barrowc

+1

'clsEmployee' *是否有'salary'屬性?它是公開的嗎? – Comintern

+0

@barrowc我將此工資的價值從excel中分配給患者:E1.salary = Sheets(「A」)。Range(t).Value。 – Zapata

回答

1

我可以想像看到越來越的具體運行時錯誤與發佈代碼的唯一方法是,如果clsEmployee不具有公共.salary財產。這可以通過改變從聲明確認...

Dim E1 As Variant 

...到:

Dim E1 As clsEmployee 

在這種情況下,它會給出一個編譯錯誤「方法或數據成員找不到」,而不是運行時錯誤。

解決方案是添加屬性,如果它不存在或使它公開如果它。

相關問題