Сколько строк в excel
Страницы: 1
Количество строк на листе
Пользователь
Сообщений: 1125 Регистрация: 23.12.2012
21.09.2009 01:55:52
Как сделать так, чтобы на листе было не 65536 строк, а 900?
Чтобы полосой прокрутки или колёсиком мыши удобно было перемещаться.
Скрытие или удаление пустых строк не помогает.
Подскажите пожалуйста!
Сообщений: 60949 Регистрация: 14.09.2012
Контакты см. в профиле
21.09.2009 02:12:15
Задать область печати не спасает?
Пользователь
Сообщений: 1125 Регистрация: 23.12.2012
21.09.2009 02:48:33
Не помогает.
Задал область печати до строки 900, получилось 23 листа. Но при просмотре листа ничего не изменилось, те же 65536 строк и маленький неудобный бегунок в полосе прокрутки.
Знаю, что это можно как-то легко сделать. У меня на некоторых листах как-то само собой получалось 600 строк и очень удобный бегунок.
Сколько строк в excel
Или (И) функцию, возвращающюю неомер последней строки содержащей информацию.
Спасибо.
—
В Вашем вопросе фигурирует коварное слово «информация». Информацией ячеек могут быть: значения, формулы, формат, шрифт, цвет, размеры, объединения, и проч., включая сочетания свойств.
Наберите в VBA Range(«A1») и поставьте точку — всплывет длинный список свойств и методов ячейки. Все свойства — это элементы информации.
Если же Вас интересуют только ячейки со значениями и формулами, то:
Последняя строка:
LastRow = ActiveSheet.Cells.Find(What:=»*», _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByRows).Row
Последняя колонка:
LastCol = ActiveSheet.Cells.Find(What:=»*», _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByColumns).Column
Последняя ячейка — в пересечении:
Set LastCell = ActiveSheet.Cells(LastRow, LastCol)
—
ZVI
10.07.2008 09:18:51
я бы добавил :)(несмотря на признанность)
метод end(xldown) лучше не применять вообще, так как он дает ошибку гораздо чаще, чем метод cells(rows.count,n).end(xlup)(догадайтесь какую)
но и последний надо применять с осторожностью, а именно
для пессимистов — проверить, пуста ли ячейка cells(rows.count,n)
для всех остальных — проверить не пуста ли ячейка cells(rows.count,n).end(xlup) перед тем, как применять к ней offset(1,0)
да, мы что-то сразу на VBA перешли, а человек просил «функцию»
=макс(если(диапазон<>«»;строка(диапазон);1) даст последнюю строку вашего «диапазона». (словие можно менять под различные надобности)
slavutich_red
26.05.2012 19:30:08
не знаю почему, но я тут не нашол примера который приводится в справке майкрософта:
ThisWorkbook.Worksheets(«имя листа»).Activate
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate
k = ActiveCell.Row ‘номер последней заполненной строки
мне этот способ очень понравился, прошу спецов дать коменты по его целесообразности — или я о чем то не о том?:)
Пользователь
Сообщений: 14868 Регистрация: 21.12.2012
E-mail и реквизиты в профиле.
26.05.2012 20:30:30
🙂 «не нашол» — круто!
Вопрос — «Количество заполненных строк на листе»
См. Файл. Заполнена всего одна ячейка.
Прикрепленные файлы
- post_337383.xls (26 КБ)
Я сам — дурнее всякого примера! .
slavutich_red
26.05.2012 22:55:08
Гы-гы — прикольненько, но почему же вы не объяснили природу этого дивного явления? почему ексель думает что в 31й строке тоже есть данные? Раз формул нет то наверное вы в этой ячейке поменяли цвет заливки или границу? Если да то флаг пользователю в ж — есть хорошая поговорка: «Почему солнце всходит и заходит? — Работает? — Да — Вот и не трогайте настройки что б не сломалось!»:) — в нашем случае не красьте облака, или там не меняйте вес луны, что бы солнце не поменяло орбиту:)
Буду очень признателен если мне и другим ученикам раскроете тайну даного некорректного поведения екселя.
Пользователь
Сообщений: 9709 Регистрация: 22.12.2012
26.05.2012 23:07:27
божитымой :))
ну где ж пытливость ума и жажда эксперимента?
что за философия существования — жить на всём готовом, разжёванном и положенном в рот?
ай, беда-беда-огорчение.
впрочем, хватит патетики :)))
идите хоть на 178-ю строчку, закрасьте ячейку в любой цвет. а потом для этой же ячейки выберите «нет заливки».
и опять запустите макрос. 😉
фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг
Мужчина провел «самый тупой» эксперимент с Excel
Американец по имени Хантер Хоббс решил необычно провести один из дней новогодних каникул. Почти десять часов он потратил на то, чтобы узнать, где находится «дно в Excel» (речь идет о редакторе электронных таблиц Microsoft Excel). Результатом эксперимента Хоббс поделился со своими подписчиками на YouTube.
«Это было самое тупое занятие, но кто-то должен был сделать это», — написал он. На видео видно, как молодой человек сидит за столом на протяжении девяти часов и 36 минут, держа палец на кнопке Page Down.
В результате эксперимента выяснилось, что максимальное количество строк в таблице Excel равно 1.048.576 (или число два в 20 степени). Стоит отметить, что само максимальное число строк является общеизвестной величиной, а добраться до самого низа таблицы можно при помощи комбинации клавиш Ctrl-G.
На сегодняшний день руководство Хантера Хоббса по «поиску дна Excel» просмотрели почти полмиллиона человек.
Сколько строк в excel
Функция ТаблицаИзФайлаЭксель(ФайлИмпорта, ЕстьНазванияКолонок = Истина)
Таблица = Новый ТаблицаЗначений;
Если ПустаяСтрока(ФайлИмпорта) Тогда
Предупреждение(«Не выбран файл»);
Возврат Таблица;
КонецЕсли;
Попытка
excel = Новый COMОбъект(«excel.application»);
workbook = excel.workbooks.open(ФайлИмпорта);
Массив = workbook.activesheet.usedrange.value.Выгрузить();
workbook.close();
workbook = 0;
// excel.quit();
excel = 0;
ЧислоКолонок = Массив.ВГраница();
ЧислоСтрок = Массив.Получить(0).ВГраница();
Для СчКол = 0 По ЧислоКолонок Цикл
Если ЕстьНазванияКолонок Тогда
Попытка
Таблица.Колонки.Добавить(Массив.Получить(СчКол).Получить(0));
Исключение
Таблица.Колонки.Добавить(«Кол»+Формат(СчКол,»ЧГ=0»));
КонецПопытки;
Иначе
Таблица.Колонки.Добавить(«Кол»+Формат(СчКол,»ЧГ=0»));
КонецЕсли;
КонецЦикла;
Для СчСтрок = ?(ЕстьНазванияКолонок,1,0) По ЧислоСтрок Цикл
ЕстьЗначение = Ложь;
Для СчКол = 0 По ЧислоКолонок Цикл
Если Не ПустаяСтрока(Массив[СчКол][СчСтрок]) Тогда
ЕстьЗначение = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЕстьЗначение Тогда
Строка = Таблица.Добавить();
Для СчКол = 0 По ЧислоКолонок Цикл
Строка[СчКол] = Массив[СчКол][СчСтрок];
КонецЦикла;
КонецЕсли;
КонецЦикла;
Исключение
Сообщить(«Не получилось загрузить данные из EXCEL»);
КонецПопытки;
