You are adding a new datatable column each time, move this line outside the loop and remove strUserid so you just create a single new datatable column:
Datatable.GlobalSheet.AddParameter "UserId" , ""
Then in place of that line in the loop just assign the value strUserid to the datatable so:
Datatable("UserId", dtGlobalSheet) = strUserid
Datatable.GlobalSheet.AddParameter "UserId" , ""
Then in place of that line in the loop just assign the value strUserid to the datatable so:
Datatable("UserId", dtGlobalSheet) = strUserid
Code:
strSQL = " Select * from UserId"
Set objResults = objDB.Execute(strSQL)
nrow=1
Datatable.GlobalSheet.AddParameter "UserId" , ""
Do Until objResults.EOF
strUserid = objResults.Fields("UserId")
Datatable.SetCurrentRow(nrow)
Datatable("UserId", dtGlobalSheet) = strUserid
msgbox Datatable("UserId",dtGlobalSheet)
Reporter.ReportEvent micDone, strUserid , " "
objResults.MoveNext
nrow=nrow+1
Loop