![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать сколько строк в Excel заполнено?
WebSqlNeederr © (2006-12-03 15:26:00)Мне нужно в программе пройтись по строкам Екселя и считать с них инфу, а как узнать сколько всего в Екселе строк записано?
Anatoly Podgoretsky (2006-12-04 20:42:00) [1]> Palladin (04.12.2006 18:36:17) [17]
> Это не заполненная строка
Откуда узнал, сидел рядом?
Anatoly Podgoretsky (2006-12-04 20:42:00) [2]> Kolan (04.12.2006 18:38:18) [18]
А не слипнется перебирать в цикле 65536*256 ячеек?
umbra (2006-12-04 18:43:00) [3]2 Kolan © (04.12.06 18:38) [18]
кто ж возражает... :)
Kolan (2006-12-04 18:38:00) [4]> чтобы использовать в цикле for
Я в цикле все перебирал бы...
Palladin (2006-12-04 18:36:00) [5]
> Anatoly Podgoretsky © (04.12.06 15:05) [16]
Это не заполненная строка :)
Anatoly Podgoretsky (2006-12-04 15:05:00) [6]> umbra (04.12.2006 14:34:15) [15]
Про это и речь, кроме того нужно четкое определение, что такое пустая строка
umbra (2006-12-04 14:34:00) [7]
> И суммировать Areas[i].Rows.Count.
хотя в общем случае это неправильно :). В общем случае надо считать руками.
umbra (2006-12-04 14:13:00) [8]2 Anatoly Podgoretsky © (04.12.06 13:50) [12]
ну, если все так строго :), то надо пользоваться коллекцией Areas. И суммировать Areas[i].Rows.Count. Но насколько я понял, автору надо просто узнать номер последней использованной строки, чтобы использовать в цикле for
Anatoly Podgoretsky (2006-12-04 13:54:00) [9]> Anatoly Podgoretsky (04.12.2006 13:50:12) [12]
Для ранее приведенного примера
1
2
3
Должно вернут 3, не 2 и не 4
Anatoly Podgoretsky (2006-12-04 13:50:00) [10]> umbra (04.12.2006 13:37:11) [11]
> Пустые строки между ними считаются.
Что также противоречит условию.
umbra (2006-12-04 13:37:00) [11]
myWorksheet.UsedRange.Rows.Countвернет количество строк, начиная с первой использованной (т.е. хотя бы в одной ячейке есть данные) и заканчивая последней использованной. Пустые строки между ними считаются.
Anatoly Podgoretsky (2006-12-04 13:07:00) [12]> Krants (04.12.2006 12:47:09) [9]
Ню, ню
1
2
3
Krants (2006-12-04 12:47:00) [13]
> jack128 © (03.12.06 18:30) [7]
> что то типа такого:
> ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)].Row
данная процедура может выдавать ошибочный результат, если последние строки либо колонки были очищены.
Можно использовать такой код
Sheet.Range["А1"].End[-4121].Select;
Result:=XLApp.ActiveCell.Row; \\количество вподряд заполненыхэлементов в колонке A, нач. с перв. строки
jack128 (2006-12-03 18:30:00) [14]Квадратная скобка лишняя, конечно..
jack128 (2006-12-03 18:30:00) [15]что то типа такого:
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)].Row
EvS (2006-12-03 17:33:00) [16]CurrentRegion если мне склероз не изменяет и если заполненные строки идут подряд.
oxffff (2006-12-03 17:22:00) [17]пройтись по строкам Екселя и считать с них инфу.
Так можно узнать сколько строк заполнено.
Palladin (2006-12-03 16:12:00) [18]а что такое "заполненная строка"?
WebSqlNeederr (2006-12-03 16:01:00) [19]извини конечно за грубость, просто не спал сегодня ночью так что немного нервный :(
WebSqlNeederr (2006-12-03 16:00:00) [20]типа решил блеснуть умом? Или ума не хватает понять то что я спросил ? Ты мне сказал сколько всего строк в екселе, а мне нужно сколько заполнено строк ...