SQL Server + EXCEL VBAなどで,「オブジェクトが閉じている場合は、操作は許可されません。」 エラー

Excel VBAでSQL ServerからRecordSetを受け取るときなどに,どうみてもコードは問題ないのに 「オブジェクトが閉じている場合は、操作は許可されません。」 というエラーが出ることがある.
ストアド内で複数のSQL文を使っている場合などに出る.
一時テーブルやテーブル変数を使う場合は複数のSQL文になるのが普通なのでこのエラーが出がちである.
SQLOLEDB,SQLNCLI どちらも出る.

この場合,「SET NOCOUNT ON」を付けるとエラーが出なくなる.

参考:
PRB: エラーの ADO SQLOLEDB と参照元の #Temp テーブルのメッセージ  (MS)