You may have an error from some previous line. Call Err.Clear before DataTable and if it still gives you a number then could be an issue. Also if Err.Description is blank, that is ok. You can use DescribeResult(Err.Number)
Are you connecting to Excel via ODBC? We noticed errors sometimes when mulitple tests trying to use the same data table it kicked out those Excel errors. Now I have it close the connection and reconnect and it works fine.