I thought about that, but I figured there might be a way to
hold the range in memory only and then feed that range to DSUM.
The OP only needs to create the criteria on the fly, so we can't
do separate runs, but a temporary spreadsheet to hold the criteria
would work.
Does a more knowledgeable person know if it is possible to
create a range in a VBA variable that can be fed to a function
without first creating the range on a spreadsheet?