嗨我在excel 2013 vba工作,我想将工作表对象传递给类函数:
'类模块Class1'
Sub receive(ByRef ws As Worksheet)
msgbox ws.name
End Sub
Run Code Online (Sandbox Code Playgroud)
调用类方法接收:
Sub passToClass()
Dim ws as Worksheet
Set ws = ThisWorkbook.Worksheets("sheet1")
Dim myClass As New Class1
myClass.receive(ws) ' Run-time Error '438': Object doesn't support this property or method
End Sub
Run Code Online (Sandbox Code Playgroud)
一个有效的简单测试是同一模块中的两个子程序:
Sub pass()
Dim ws as Worksheet
Set ws = ThisWorkbook.Worksheets("sheet1")
call receive(ws)
End Sub
Sub Receive(ByRef ws As Worksheet)
msgbox ws.name
End Sub
Run Code Online (Sandbox Code Playgroud)
我在概念上错过了什么?
提前致谢!