Почему не нужно использовать Excel.Application.Range, а следует ExcelWorksheet.Range?
Использование ExcelApplication.Range позволяет работать только с активным листом активной книги. Если вы открываете по ходу работы еще одну книгу или делаете активным другой лист в книге (например, добавляете новый лист), то данные будут вноситься именно в активный в данный момент лист. Чтоб не попасть в неудобную ситуациюб всегда используйте объект Range объекта ExcelWorksheet. Это не только обезопасит ваш код от попадания "куда Бог пошлет", но и позволит записывать данные сразу в несколько листов и даже книг без изменения ActiveSheet и ActiveCell.