我正在编写应该从Excel工作表中读取数据的代码,将其作为字符串保存到我已定义的类的对象中包含的变量中,然后将此对象添加到类的对象树中也定义了。
Dim ProdTreeMain As New CProdTree
Dim nR As Range
Dim nnR As Range
Set nR = oXS.Range("A1")
Set nnR = oXS.Range("A1")
dim r as integer
r = 1
Do While Not (nR.Text = "" And nnR.Text = "")
If CONDITION IS TRUE:
Dim currProd As New CProduct
ProdTreeMain.addProduct (currProd) '<-- error 438 "Object doesn't support property or method
End If
r = r + 1
Set nR = oXS.Range("A" & CStr(r + 1))
Set nR = oXS.Range("A" & CStr(r + 2))
Loop
CProdTree类包含一个子“addProduct”,它通过引用获取类CProduct的输入对象。
Public Sub addProduct(ByRef Prod As CProduct)
到底是怎么回事?这个类是定义的,子正确的,传递给sub的变量类型是正确的类,但是我得到了这个错误...:/
答案 0 :(得分:4)
您需要删除参数周围的括号。我最喜欢的解释是Daily Dose of Excel post。
这一行:
ProdTreeMain.addProduct (currProd)
变为:
ProdTreeMain.addProduct currProd