Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Собственно сабжект
метод intirerow.insert в цикле уж больно долго работает, если нужно вставить сотни новых строк Исправлено 1 раз(а). Последнее : boba, 08.02.17 09:33 |
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Указатель на массив записывать в Range().Value тоже не подходит?
|
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
.Cells(10, 1).Resize(15, 1).EntireRow.Insert()
|
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
******Указатель на массив записывать в Range().Value тоже не подходит?
В шаблоне до его заполнения только одна чистая строка. Те весь селектированный диапазон - 1 строка Если туда заранее штук по 5 накидать и селектить, общее число строк будет кратно исходным, придется до помещения строки деталей лишние строки убирать. Исправлено 1 раз(а). Последнее : boba, 08.02.17 14:36 |
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
ry Сообщений: 2113 Дата регистрации: 24.09.2007 |
Не совсем понял схему, зачем добавлять пачками строки? Думаю, of63 имел в виду метод вставки данных в Excel массивом, а не построчно, как уже много раз здесь обсуждалось (например, forum.foxclub.ru). Определить диапазон для выделения по количеству строк в массиве ведь не проблема. Или там в шаблоне еще какой-то "подвал", который должен выводиться после строк с данными? Если его сложно сформировать из VFP, то можно копировать с другого листа, например, и вставлять после данных. |
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Конечно, мне известен метод заноса данных оптом из Фокса через массив.
Давно его применяю. Тут дело не в этом, а в конкретных шаблонах, взятых в Интернет, например, от Гарант. Там часто всего несколько строк по высоте, а далее нет строк вообще. Перенос массивом большей длины просто вылетит в ошибку. Например, в таком шаблоне может быть так, если там всего 11 строк. exls = createobject('excel.application') ................... ................ type('exls.cells(1,1)')='O' type('exls.cells(12,1)')='U' Простой выход, нарисовать шаблон самому, и тогда метод через массив сработает. У нас сейчас огромная годовая отчетность. Одних форм 17 инвентаризации видов 10 или больше. Рисование занимает время в разы больше программирования. Сначала нужно строчки добавить, об этом и был вопрос |
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Если выделить в экселе строку 10, например. А потом протянуть выделение вниз, на 15 строк, например. То перед строкой 10 вставится 15 новых строк с форматированием как у 10-ой строки.
То же самое можно сделать через VBA: .Cells(10, 1).Resize(15, 1).EntireRow.Insert() |
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
|
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Во-первых, дёргать Selection это медленно. Во-вторых, дёргать Selection это может быть ещё и вредно, если в этом экземпляре офиса открыты другие книги, доступные пользователю. В-третьих, работа через Clipboard это медленно. Лучше использовать Insert. А для сохранения формата, нужно указать значение перечисления XlInsertFormatOrigin.
И в четвёртых. Если работаешь через ClipBoard, а пользователь, при этом тоже активно использует ClipBoard, можно вполне себе успеть огрести ситуацию, когда пользователь успеет заменить содержимое ClipBoard между Copy и Paste. Другой вопрос, что по статистике пользователь достаточно долго завороженно пялится в монитор, пока программа выводит отчёт. |
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Спс. В курсе, но пока вот так, через Range что-то не получилось...
|
Re: Есть ли в excel метод вставки нескольких строк одновременно | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Спасибо, Павел, работает на ура, быстро |
© 2000-2024 Fox Club  |