Необходимо думать "о строках кода , потратил ", не "строки кода произвели ".
Вещи должны быть максимально простыми, так создание положительного сравнительного теста на основе количества строк поощряет плохой код.
, Кроме того, некоторые вещи, которые являются очень трудным концом, будучи решенным с очень небольшим количеством кода и некоторыми вещами, которые очень легки (шаблонный код как методы считывания и методы set, например) могут добавить много строк в очень небольшое количество времени.
Что касается исходного вопроса, если бы я собирался считать строки, я включал бы каждую строку кроме последовательных пустых строк. Я включал бы комментарии также, так как они - (надо надеяться), полезная документация.
См. метод Range.SpecialCells. Например, чтобы получить ячейки с постоянными значениями или формулами, используйте:
_xlWorksheet.UsedRange.SpecialCells(
Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeConstants |
Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeFormulas)
dim lastRow as long 'in VBA it's a long
lastrow = wks.range("A65000").end(xlup).row
Excel.Range last = sheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range range = sheet.get_Range("A1", last);
"диапазон" теперь будет диапазоном занятых ячеек