The following throws ADODB.Recordset Error '800a0bb9' ("Arguments are of the wrong type, are out of acceptable range or are in conflict with one another.") in VBScript:
objListRst.Filter = objH1Rst.Fields("filter")
This is because the Filter property of ADO expects a string literal. This error can be avoided with implicit conversion:
objListRst.Filter = objH1Rst.Fields("filter") & vbNullString
or explicit conversion:
objListRst.Filter = Cstr(objH1Rst.Fields("filter"))