Хочется, чтобы этот запрос возвращал и количество данных всего - без offset и limit, но помещал их отдельно от массива элементов, можно ли как-то это сделать?
Мне очень не хочется делать отдельный второй запрос на подсчет элементов.
Контроль успешности операции? Это что, не совсем понимаю.
Однако Вы ссылаетесь не на объект Worksheet, а на объект Workbook. У которого Range нет.
Это в общем случае неверно. И компилятор тут не при чём. Вопрос интерпретации default property в рантайме, которая критичным образом зависит от текущего фокуса.
В общем, указывайте абсолютно корректно - l_xxx.Worksheets("имя листа").Range("диапазон").Rows.Count.