Я не имею в виду "SELECT по xls" в смысле SQL (для этого у вас в представленных фрагментах кода не видно следов присутствия ADO и сохраненного файла Excel).
Я ориентируюсь на сообщение про "метод Select объекта Range". Оно означает, что где-то в коде встречается оператор типа rng.Select() или cell.Select(), вызванный для неактивного в данный момент рабочего листа.
Посмотрите мой код вот здесь:
Как отследить все факты создания таблиц при постинге? , метод sendRecordsetToExcel. Там предусмотрен вывод на несколько листов. И увидите там wks.Activate(). Вот и вам так же надо сделать.
Если Activate не поможет, то тогда покажите весь свой код, можно будет поточнее диагноз поставить.