在Excel里面,vba调用存储过程,返回结果集,报错,该怎么处理

在Excel里面,vba调用存储过程,返回结果集,报错
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command

cmd.CommandText = "sp_test"
cmd.CommandType = adCmdStoredProc
cmd.CommandTimeout = 30
...
Set rs = cmd.Execute()
i = rs.RecordCount
...

报错:

当物件关闭时,不允许操作
------解决方案--------------------
是不是缺少了对cmd对象的实例化?

cmd.CommandTimeout = 30
...
Set rs = cmd.Execute()

------解决方案--------------------
能把代码发全点吗?这点代码里根本没有ADO连接,这个CMD去哪执行呢?那个sp_test存在哪里的?