Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Программа для очистки рабочей книги - Страница 4 - Мир MS Excel

Старая форма входа
Модератор форума: _Boroda_, китин  
Программа для очистки рабочей книги
v__step Дата: Среда, 09.11.2011, 09:28 | Сообщение № 61
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Конечно, с последней 011_!
Один из багов очень серьезный! - не распознавался как раз тот диапазон, который надо удалять при чистке...
Я не очень доверяю методу Range, а постоянно пользуюсь Offset + Resize - это старые, проверенные друзья

Есть безумная мысль: а что если не удалять строки/столбцы, а только объединить и разъединить их?! Я уже попробовал – объекты на месте, даже присоединенные к ячейкам, весь видимый мусор уходит...
Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист

Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги?
Любой лист тем ценнее для нас, чем он чувствительней...
Лист высокой чувствительности на вес золота!!
Я бы очень хотел заполучить такой лист, потому что, возможно, удастся понять природу разбухания

У меня у самого были такие книги. Иногда ко мне приходили сотрудники - просили помочь. Я обычно удалял лишнее, и проблема снималась

Чувствительность группы в 8conv*.xls объясняется ее расположением справа от диаграммы
(при перенесении в другое место все работает нормально)


С уважением, Владимир

Сообщение отредактировал v__step - Среда, 09.11.2011, 11:58
 
Ответить
СообщениеКонечно, с последней 011_!
Один из багов очень серьезный! - не распознавался как раз тот диапазон, который надо удалять при чистке...
Я не очень доверяю методу Range, а постоянно пользуюсь Offset + Resize - это старые, проверенные друзья

Есть безумная мысль: а что если не удалять строки/столбцы, а только объединить и разъединить их?! Я уже попробовал – объекты на месте, даже присоединенные к ячейкам, весь видимый мусор уходит...
Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист

Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги?
Любой лист тем ценнее для нас, чем он чувствительней...
Лист высокой чувствительности на вес золота!!
Я бы очень хотел заполучить такой лист, потому что, возможно, удастся понять природу разбухания

У меня у самого были такие книги. Иногда ко мне приходили сотрудники - просили помочь. Я обычно удалял лишнее, и проблема снималась

Чувствительность группы в 8conv*.xls объясняется ее расположением справа от диаграммы
(при перенесении в другое место все работает нормально)

Автор - v__step
Дата добавления - 09.11.2011 в 09:28
Alex_ST Дата: Среда, 09.11.2011, 12:38 | Сообщение № 62
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Ну, блин, и задачку я на себя взял - шибко толстый файл обезжиривать...
Но уж "Назвался клизмой, полезай … " biggrin
В общем так:
1. Утром народ мне скинул тот жирный файл.
Он весил 44,256М. Файл был общего доступа (!) и известен пароль только для чтения.
С большим трудом снял пароль и отменил общий доступ. Файл сразу похудел до 20,024М (из-за пересохранения в режиме монопольного доступа)
2. Запустил твой обезжириватель №11_
Через 19 минут (с трудом дождался, т.к. проц на это время загрузился почти постоянно на 100% и оперативка выжралась почти под ноль) получил "обезжиренный" файл 16,093М
Проверить целостность информации в каждой ячейке, естественно, не могу ввиду её монструозности. Но если очень длинный и разноцветный текст внутри ячеек, форматирование ячеек, закреплённые области экрана, примечания и автофильтры переносятся нормально, то больше там ничего и нет. Даже формул нет.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНу, блин, и задачку я на себя взял - шибко толстый файл обезжиривать...
Но уж "Назвался клизмой, полезай … " biggrin
В общем так:
1. Утром народ мне скинул тот жирный файл.
Он весил 44,256М. Файл был общего доступа (!) и известен пароль только для чтения.
С большим трудом снял пароль и отменил общий доступ. Файл сразу похудел до 20,024М (из-за пересохранения в режиме монопольного доступа)
2. Запустил твой обезжириватель №11_
Через 19 минут (с трудом дождался, т.к. проц на это время загрузился почти постоянно на 100% и оперативка выжралась почти под ноль) получил "обезжиренный" файл 16,093М
Проверить целостность информации в каждой ячейке, естественно, не могу ввиду её монструозности. Но если очень длинный и разноцветный текст внутри ячеек, форматирование ячеек, закреплённые области экрана, примечания и автофильтры переносятся нормально, то больше там ничего и нет. Даже формул нет.

Автор - Alex_ST
Дата добавления - 09.11.2011 в 12:38
Alex_ST Дата: Среда, 09.11.2011, 13:01 | Сообщение № 63
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (v__step)
Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист
Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги?
Любой лист тем ценнее для нас, чем он чувствительней...

Я не понимаю о чём ты говоришь sad
Если речь идёт про лист, где в UsedRange есть ячейки с формулами, ссылающимися на значения в ячейках вне UsedRange , то в чём проблема тебе самому за 1 минуту (вместе с созданием новой книги, написанием на Лист1 в А1 формулы =Лист2!D100 и сохранением этой книги) такой лист создать?
А в той чужой жирной книге нет вообще ничего того, что не умеют делать в Ёкселе начинающие юзеры (ни формул, ни имён, ни ссылок, ни связей, ни макросов, ни … ). Там просто на самом главном листе лежит большая таблица 40 столбцов на 16000 строк. В ячейках этой таблицы разношрифтовой текст зачастую больше чем 256 символов, да ещё и раскрашенный в разные цвета.
Кстати, сейчас удалил из книги все 15 дополнительных листов, оставив только самый важный. И книга после сохранения стала весить 14,746Мег! Так что остальные листы были мелочью.
А лист из книги выдернуть не могу - там строго конфиденциальная информация (наименования и трассы кабелей, кабельные колодцы, подрядчики, заказчики и т.д. и т.п.)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Среда, 09.11.2011, 13:04
 
Ответить
Сообщение
Quote (v__step)
Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист
Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги?
Любой лист тем ценнее для нас, чем он чувствительней...

Я не понимаю о чём ты говоришь sad
Если речь идёт про лист, где в UsedRange есть ячейки с формулами, ссылающимися на значения в ячейках вне UsedRange , то в чём проблема тебе самому за 1 минуту (вместе с созданием новой книги, написанием на Лист1 в А1 формулы =Лист2!D100 и сохранением этой книги) такой лист создать?
А в той чужой жирной книге нет вообще ничего того, что не умеют делать в Ёкселе начинающие юзеры (ни формул, ни имён, ни ссылок, ни связей, ни макросов, ни … ). Там просто на самом главном листе лежит большая таблица 40 столбцов на 16000 строк. В ячейках этой таблицы разношрифтовой текст зачастую больше чем 256 символов, да ещё и раскрашенный в разные цвета.
Кстати, сейчас удалил из книги все 15 дополнительных листов, оставив только самый важный. И книга после сохранения стала весить 14,746Мег! Так что остальные листы были мелочью.
А лист из книги выдернуть не могу - там строго конфиденциальная информация (наименования и трассы кабелей, кабельные колодцы, подрядчики, заказчики и т.д. и т.п.)

Автор - Alex_ST
Дата добавления - 09.11.2011 в 13:01
v__step Дата: Среда, 09.11.2011, 13:12 | Сообщение № 64
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Спасибо, спасибо! smile
Мне даже трудно представить что сейчас происходило: в работе кроме этого бегемота одновременно был второй почти такой же, и из одного в другой тянулись данные, объекты, форматы... удивительная картина

Лист о котором я говорю, разрастается не из-за ссылок на ячейки вне UsedRange. Я сам сталкивался со случаями внезапного увеличения книги, но никогда не задавался целью понять природу этого явления
Очень жалко, что никогда не сохранял больные листы до лечения...
По памяти, это было связано с заливкой, границами и т.п.

Лёш, если можно, проведи еще 1 эксперимент (а я попробую поработать так со своими архивами)
1) на самом главном и толстом листе вручную удалить сначала все лишние столбцы, а потом лишние строки (попробовать также наоборот); сохранить и оценить эффект
2) проделать то же, но не удалять, а сначала объединить ячейки, а затем разъединить
3) проделать то же, что в (2), но до объединения скопировать в левый верхний угол каждого из объединяемых диапазонов чистую ячейку из новой книги
4) подвести итоги соревнования

Лёш, так все-таки твоя оценка в целом: воно робе чи нi? smile


С уважением, Владимир

Сообщение отредактировал v__step - Среда, 09.11.2011, 13:40
 
Ответить
СообщениеСпасибо, спасибо! smile
Мне даже трудно представить что сейчас происходило: в работе кроме этого бегемота одновременно был второй почти такой же, и из одного в другой тянулись данные, объекты, форматы... удивительная картина

Лист о котором я говорю, разрастается не из-за ссылок на ячейки вне UsedRange. Я сам сталкивался со случаями внезапного увеличения книги, но никогда не задавался целью понять природу этого явления
Очень жалко, что никогда не сохранял больные листы до лечения...
По памяти, это было связано с заливкой, границами и т.п.

Лёш, если можно, проведи еще 1 эксперимент (а я попробую поработать так со своими архивами)
1) на самом главном и толстом листе вручную удалить сначала все лишние столбцы, а потом лишние строки (попробовать также наоборот); сохранить и оценить эффект
2) проделать то же, но не удалять, а сначала объединить ячейки, а затем разъединить
3) проделать то же, что в (2), но до объединения скопировать в левый верхний угол каждого из объединяемых диапазонов чистую ячейку из новой книги
4) подвести итоги соревнования

Лёш, так все-таки твоя оценка в целом: воно робе чи нi? smile

Автор - v__step
Дата добавления - 09.11.2011 в 13:12
Alex_ST Дата: Среда, 09.11.2011, 13:56 | Сообщение № 65
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Та хто ж його знає, на всіх видах файлів вона працює чи ні? biggrin (прошу заранее прощения если написал с ошибками…это не я переводил с москальского на українську мову, а Гугл-переводчик)

Не стесняйся своих успехов! Версию 011_ уже вполне можно выкладывать на всеобщее обозрение для массового тестирования на Планету.
Только справку чуть подправь - уж больно поучительно-академически звучит, например, фраза
Quote
Имена, не без оснований, могут считаться объектами неприкосновенными, кроме того, они тяжело редактируются (даже в последних версиях Excel)

И уточни там формулировки чтобы понятно было на каком листе и когда гульки ставить или снимать.
Да, а "мордочки" сделано-не сделано ты актуализировал?
Да и по поводу префикса Fat надо бы подумать... Может быть, вместо такого префикса сделать суффикс _old чтобы при авто-сортировке в папке файлы не "разбегались" и не так шокировать юзеров таким названием?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Среда, 09.11.2011, 14:24
 
Ответить
СообщениеТа хто ж його знає, на всіх видах файлів вона працює чи ні? biggrin (прошу заранее прощения если написал с ошибками…это не я переводил с москальского на українську мову, а Гугл-переводчик)

Не стесняйся своих успехов! Версию 011_ уже вполне можно выкладывать на всеобщее обозрение для массового тестирования на Планету.
Только справку чуть подправь - уж больно поучительно-академически звучит, например, фраза
Quote
Имена, не без оснований, могут считаться объектами неприкосновенными, кроме того, они тяжело редактируются (даже в последних версиях Excel)

И уточни там формулировки чтобы понятно было на каком листе и когда гульки ставить или снимать.
Да, а "мордочки" сделано-не сделано ты актуализировал?
Да и по поводу префикса Fat надо бы подумать... Может быть, вместо такого префикса сделать суффикс _old чтобы при авто-сортировке в папке файлы не "разбегались" и не так шокировать юзеров таким названием?

Автор - Alex_ST
Дата добавления - 09.11.2011 в 13:56
v__step Дата: Среда, 09.11.2011, 14:40 | Сообщение № 66
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Код в этой работе имеет подчиненное значение
Почти все основные эффекты можно поймать в ручном режиме без всякого VBA
Все личные данные в свойствах файла и модулях этой утилиты пустые (это надолго) - я жду сотрудничества и соавторства

Лёша, ты меня поставил на ноги, а Сергей затравил эту тему... smile
Я не пойду никуда без вас.

Мало того, я догадываюсь, что Сергея мог даже обидеть тем, что создал свой топик на его тему - поверь, это было сделано абсолютно спонтанно... мы действительно думали параллельно


С уважением, Владимир
 
Ответить
СообщениеКод в этой работе имеет подчиненное значение
Почти все основные эффекты можно поймать в ручном режиме без всякого VBA
Все личные данные в свойствах файла и модулях этой утилиты пустые (это надолго) - я жду сотрудничества и соавторства

Лёша, ты меня поставил на ноги, а Сергей затравил эту тему... smile
Я не пойду никуда без вас.

Мало того, я догадываюсь, что Сергея мог даже обидеть тем, что создал свой топик на его тему - поверь, это было сделано абсолютно спонтанно... мы действительно думали параллельно

Автор - v__step
Дата добавления - 09.11.2011 в 14:40
v__step Дата: Среда, 09.11.2011, 15:32 | Сообщение № 67
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Лёша! Получилось! Объединение-разъединение работает не хуже удаления, а объекты на месте (независимо от привязки к ячейкам)!

Я нашел лист, размеры которого чувствительны к очистке - на нем и попробовал зубки
Пример отправил тебе на мыло (не влазит в пост)


С уважением, Владимир

Сообщение отредактировал v__step - Среда, 09.11.2011, 16:11
 
Ответить
СообщениеЛёша! Получилось! Объединение-разъединение работает не хуже удаления, а объекты на месте (независимо от привязки к ячейкам)!

Я нашел лист, размеры которого чувствительны к очистке - на нем и попробовал зубки
Пример отправил тебе на мыло (не влазит в пост)

Автор - v__step
Дата добавления - 09.11.2011 в 15:32
Alex_ST Дата: Среда, 09.11.2011, 17:14 | Сообщение № 68
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Вова,
а формат главной (верхней левой) ячейки области объединения ячеек разве после разъединения не распространяется на те, которые были скрыты при объединении?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВова,
а формат главной (верхней левой) ячейки области объединения ячеек разве после разъединения не распространяется на те, которые были скрыты при объединении?

Автор - Alex_ST
Дата добавления - 09.11.2011 в 17:14
Alex_ST Дата: Среда, 09.11.2011, 17:17 | Сообщение № 69
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Только что проверил: заливка и формат данных точно распространяется



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеТолько что проверил: заливка и формат данных точно распространяется

Автор - Alex_ST
Дата добавления - 09.11.2011 в 17:17
v__step Дата: Среда, 09.11.2011, 17:25 | Сообщение № 70
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Так это же и есть то, что нам нужно - распространить правильный формат!

Просто должна быть настраиваемая опция
Если человек хочет сделать заливку по пустым ячейкам (так часто делают), пусть распространяется заливка (придется позаботится об отсутствии границ и прочего мусора)
Если он любитель заграничной чистоты, то распространяться будет формат девственно чистой ячейки, взятой из новой книги (предварительно скопируем ее в левый верхних угол того диапазона, который будем объединять)

Объединение проявило силу (эффективно уменьшает размер файла) и деликатность - не тронуло высоты строк и объекты
Прямо как хороший стиральный порошок - чистит, выводит пятна, и без линьки


С уважением, Владимир

Сообщение отредактировал v__step - Четверг, 10.11.2011, 09:39
 
Ответить
СообщениеТак это же и есть то, что нам нужно - распространить правильный формат!

Просто должна быть настраиваемая опция
Если человек хочет сделать заливку по пустым ячейкам (так часто делают), пусть распространяется заливка (придется позаботится об отсутствии границ и прочего мусора)
Если он любитель заграничной чистоты, то распространяться будет формат девственно чистой ячейки, взятой из новой книги (предварительно скопируем ее в левый верхних угол того диапазона, который будем объединять)

Объединение проявило силу (эффективно уменьшает размер файла) и деликатность - не тронуло высоты строк и объекты
Прямо как хороший стиральный порошок - чистит, выводит пятна, и без линьки

Автор - v__step
Дата добавления - 09.11.2011 в 17:25
Alex_ST Дата: Четверг, 10.11.2011, 09:37 | Сообщение № 71
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (v__step)
Это будет формат девственно чистой ячейки, взятой из новой книги

А! Ну тогда ДА biggrin
Только я немного не въехал, а зачем такие сложности? Не будет слишком долго? А если не 2003-й, а 2007 или 2010? Там же строк/столбцов просто дофига и больше...
Чем не устраивает простой метод .Clear или уж чтобы наверняка всё очистить (я просто не искал в справке, всё ли в объекте Range очищает метод .Clear ?), то последовательно применённые
.ClearComments
.ClearContents
.ClearFormats
.ClearNotes
.ClearOutline
Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее и это нужно "коцать".
А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (v__step)
Это будет формат девственно чистой ячейки, взятой из новой книги

А! Ну тогда ДА biggrin
Только я немного не въехал, а зачем такие сложности? Не будет слишком долго? А если не 2003-й, а 2007 или 2010? Там же строк/столбцов просто дофига и больше...
Чем не устраивает простой метод .Clear или уж чтобы наверняка всё очистить (я просто не искал в справке, всё ли в объекте Range очищает метод .Clear ?), то последовательно применённые
.ClearComments
.ClearContents
.ClearFormats
.ClearNotes
.ClearOutline
Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее и это нужно "коцать".
А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.

Автор - Alex_ST
Дата добавления - 10.11.2011 в 09:37
v__step Дата: Четверг, 10.11.2011, 10:02 | Сообщение № 72
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Лёша, с добрым утром! smile
Я подправил на свежую голову вчерашний пост (править - мое любимое занятие), а ты его уже прочитал
Сейчас совершу нечто страшное: напишу "Ёксель" (это ведь не оскорбительно, правда?) и воспользуюсь цитатами biggrin

Quote (Alex_ST)
А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.
При удалении сбивается высота отдельных строк и слетает часть объектов. Бороться с этим очень сложно, почти невозможно
Я все время пользовался именно удалением как самым грубым средством очистки
Объединение кажется чем-то очень похожим, почти тем же

Quote (Alex_ST)
Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее.
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).

Quote (Alex_ST)
.ClearComments .ClearContents .ClearFormats .ClearNotes .ClearOutline
Возможно, но надо проверить. Я опасаюсь неполноты очистки и сбоев (все-таки, много операций, и для каждой Ёксель должен побеспокоиться не столько о том, что делать, сколько о том, чего делать не надо. Объединение работает наверное, более надежно, просто и жестко, а это как раз то, что надо. Скорость скорее всего, только возрастет

Quote (Alex_ST)
Не будет слишком долго? А если не 2003-й, а 2007 или 2010
Я не думаю, что это долго, т.к. представляю себя на месте Ёкселя, и не вижу проблемы - это было бы не сложнее удаления. Скорее всего, это будет быстрее, чем удаление, т.к. на сбивку высот строк и порчу объектов тоже нужно время...

Давай не спешить с выводами, а попробуем все варианты
Самое главное для меня - это отказ от удаления
Остальное - в рабочем порядке

Сейчас в V011_ перед удалением выполняется объединение, чтобы не слетали строки
В каком Ёкселе ты чистил бегемота?

Только что попробовал Range.Clear - очень удачно - размер уменьшился точно так же...
Возможно, ты прав, большое спасибо за совет! Так еще лучше! smile
Все-таки, крутится в голове, что у меня когда-то были проблемы с Clear...

Чтобы рассеять все сомнения, придется капитально поработать
Нужен эксперимент!
Я попробую набрать как можно больше самых разных файлов и почистить по-разному


С уважением, Владимир

Сообщение отредактировал v__step - Четверг, 10.11.2011, 12:08
 
Ответить
СообщениеЛёша, с добрым утром! smile
Я подправил на свежую голову вчерашний пост (править - мое любимое занятие), а ты его уже прочитал
Сейчас совершу нечто страшное: напишу "Ёксель" (это ведь не оскорбительно, правда?) и воспользуюсь цитатами biggrin

Quote (Alex_ST)
А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.
При удалении сбивается высота отдельных строк и слетает часть объектов. Бороться с этим очень сложно, почти невозможно
Я все время пользовался именно удалением как самым грубым средством очистки
Объединение кажется чем-то очень похожим, почти тем же

Quote (Alex_ST)
Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее.
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).

Quote (Alex_ST)
.ClearComments .ClearContents .ClearFormats .ClearNotes .ClearOutline
Возможно, но надо проверить. Я опасаюсь неполноты очистки и сбоев (все-таки, много операций, и для каждой Ёксель должен побеспокоиться не столько о том, что делать, сколько о том, чего делать не надо. Объединение работает наверное, более надежно, просто и жестко, а это как раз то, что надо. Скорость скорее всего, только возрастет

Quote (Alex_ST)
Не будет слишком долго? А если не 2003-й, а 2007 или 2010
Я не думаю, что это долго, т.к. представляю себя на месте Ёкселя, и не вижу проблемы - это было бы не сложнее удаления. Скорее всего, это будет быстрее, чем удаление, т.к. на сбивку высот строк и порчу объектов тоже нужно время...

Давай не спешить с выводами, а попробуем все варианты
Самое главное для меня - это отказ от удаления
Остальное - в рабочем порядке

Сейчас в V011_ перед удалением выполняется объединение, чтобы не слетали строки
В каком Ёкселе ты чистил бегемота?

Только что попробовал Range.Clear - очень удачно - размер уменьшился точно так же...
Возможно, ты прав, большое спасибо за совет! Так еще лучше! smile
Все-таки, крутится в голове, что у меня когда-то были проблемы с Clear...

Чтобы рассеять все сомнения, придется капитально поработать
Нужен эксперимент!
Я попробую набрать как можно больше самых разных файлов и почистить по-разному

Автор - v__step
Дата добавления - 10.11.2011 в 10:02
Alex_ST Дата: Четверг, 10.11.2011, 12:36 | Сообщение № 73
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Привет, володя!
Ты уже не в первый раз пишешь:
Quote (v__step)
При удалении сбивается высота отдельных строк
Это, наверное, относится к высоте строк в оставшемся диапазоне при удалении столбцов правее и до конца листа? Ведь сбивание высоты при удалении строк ниже UsedRange никак сказаться не может, да и не интересно никому.
Странно... Не замечал такого ни разу... Есть листик с примером этого эффекта?
Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться... Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …

Quote (v__step)
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).

А если на листе заголовок, а ниже его - рисунок?
Вообще: только что проверил - на пустом листе сделал маленькую табличку-шапку, ниже её поместил объект WodrArt и пару автофигур, а потом макросом выделил UsedRange … Облом! Выделилась только табличка-шапка! А при удалении строк ниже её все бывшие там шэйпы не удалились, а просто стали невидимы, т.к. поимели нулевую высоту!
Вот к стати и ещё один из объектов, которые часто являются мусором на листе - шэйпы, имеющие нулевые размеры хотя бы по одному из измерений.
Хотя... А вдруг это сделано намеренно и программой когда нужно их размеры выставляются как надо?
И те шэйпы, которые невидимы, тоже нельзя просто удалять, т.к. я сам, например, иногда просто показываю и позиционирую программно одну из заранее созданных и сделанных невидимыми картинок на листе...



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПривет, володя!
Ты уже не в первый раз пишешь:
Quote (v__step)
При удалении сбивается высота отдельных строк
Это, наверное, относится к высоте строк в оставшемся диапазоне при удалении столбцов правее и до конца листа? Ведь сбивание высоты при удалении строк ниже UsedRange никак сказаться не может, да и не интересно никому.
Странно... Не замечал такого ни разу... Есть листик с примером этого эффекта?
Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться... Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …

Quote (v__step)
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).

А если на листе заголовок, а ниже его - рисунок?
Вообще: только что проверил - на пустом листе сделал маленькую табличку-шапку, ниже её поместил объект WodrArt и пару автофигур, а потом макросом выделил UsedRange … Облом! Выделилась только табличка-шапка! А при удалении строк ниже её все бывшие там шэйпы не удалились, а просто стали невидимы, т.к. поимели нулевую высоту!
Вот к стати и ещё один из объектов, которые часто являются мусором на листе - шэйпы, имеющие нулевые размеры хотя бы по одному из измерений.
Хотя... А вдруг это сделано намеренно и программой когда нужно их размеры выставляются как надо?
И те шэйпы, которые невидимы, тоже нельзя просто удалять, т.к. я сам, например, иногда просто показываю и позиционирую программно одну из заранее созданных и сделанных невидимыми картинок на листе...

Автор - Alex_ST
Дата добавления - 10.11.2011 в 12:36
v__step Дата: Четверг, 10.11.2011, 12:56 | Сообщение № 74
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Quote (Alex_ST)
Странно... Не замечал такого ни разу... Есть листик с примером этого эффекта?

Конечно есть! biggrin
Попробуй удалить столбец справа, отмеченный желтой заливкой...
К сообщению приложен файл: 123.zip (55.6 Kb)


С уважением, Владимир

Сообщение отредактировал v__step - Четверг, 10.11.2011, 14:01
 
Ответить
Сообщение
Quote (Alex_ST)
Странно... Не замечал такого ни разу... Есть листик с примером этого эффекта?

Конечно есть! biggrin
Попробуй удалить столбец справа, отмеченный желтой заливкой...

Автор - v__step
Дата добавления - 10.11.2011 в 12:56
v__step Дата: Четверг, 10.11.2011, 13:17 | Сообщение № 75
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Еще 1 пример - удали все строки, начиная с желтой в моем файле
Группа плывет!
Обрати внимание! Все объекты этого листа предварительно были разгруппированы и отвязаны от ячеек
Затем группировка и для группы персональная отвязка от ячеек (чище некуда)

Единственная провинность этой группы - то, что слева оказалась диаграмма
Если сместить группу вниз, она стабилизируется

Чего еще ожидать от удаления строк/столбцов
В этом плане Clear или Merge-Unmerge смотрятся очень хорошо

На сегодняшний день в чистилке я обхожу проблемы Shapes, удаляя лишние строки/столбцы в новой книге до переноса объектов
Но задача FitnessLight ужесточает требования...
К сообщению приложен файл: 456.zip (22.4 Kb)


С уважением, Владимир

Сообщение отредактировал v__step - Четверг, 10.11.2011, 13:22
 
Ответить
СообщениеЕще 1 пример - удали все строки, начиная с желтой в моем файле
Группа плывет!
Обрати внимание! Все объекты этого листа предварительно были разгруппированы и отвязаны от ячеек
Затем группировка и для группы персональная отвязка от ячеек (чище некуда)

Единственная провинность этой группы - то, что слева оказалась диаграмма
Если сместить группу вниз, она стабилизируется

Чего еще ожидать от удаления строк/столбцов
В этом плане Clear или Merge-Unmerge смотрятся очень хорошо

На сегодняшний день в чистилке я обхожу проблемы Shapes, удаляя лишние строки/столбцы в новой книге до переноса объектов
Но задача FitnessLight ужесточает требования...

Автор - v__step
Дата добавления - 10.11.2011 в 13:17
Alex_ST Дата: Четверг, 10.11.2011, 13:24 | Сообщение № 76
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Ах вот что ты имел в виду! Шэйпы "плывут" по размерам!
Ну так точнее выражаться надо было biggrin
Ведь ты же пишешь:
Quote (v__step)
При удалении сбивается высота отдельных строк
а на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеАх вот что ты имел в виду! Шэйпы "плывут" по размерам!
Ну так точнее выражаться надо было biggrin
Ведь ты же пишешь:
Quote (v__step)
При удалении сбивается высота отдельных строк
а на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл.

Автор - Alex_ST
Дата добавления - 10.11.2011 в 13:24
Alex_ST Дата: Четверг, 10.11.2011, 13:33 | Сообщение № 77
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3214
Репутация: 609 ±
Замечаний: 0% ±

2003
Постили почти дуплетом, поэтому твой предыдущий пост я не успел прочитать...
А у меня там ничего не "ползёт" почему-то при удалении от строк жёлтой до конца листа... И от жёлтой до конца UsedRange тоже. Может, я не внимательный или слепой?

Точно: слепой и не внимательный! Действительно, картинка искажается. Но только при удалении до конца листа! А если только до конца UsedRange , то нет!



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 10.11.2011, 13:38
 
Ответить
СообщениеПостили почти дуплетом, поэтому твой предыдущий пост я не успел прочитать...
А у меня там ничего не "ползёт" почему-то при удалении от строк жёлтой до конца листа... И от жёлтой до конца UsedRange тоже. Может, я не внимательный или слепой?

Точно: слепой и не внимательный! Действительно, картинка искажается. Но только при удалении до конца листа! А если только до конца UsedRange , то нет!

Автор - Alex_ST
Дата добавления - 10.11.2011 в 13:33
v__step Дата: Четверг, 10.11.2011, 14:16 | Сообщение № 78
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Quote (Alex_ST)
Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …
А вот и нет! smile
Мало того, Merge+Delete тоже работает мягче, чем Delete - я пользуюсь этим в утилите smile
Quote (Alex_ST)
Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться
Есть более сложные ситуации sad
Например, в приложенном файле на листе пусто, но высота при удалении скачет
К сообщению приложен файл: 789.zip (1.8 Kb)


С уважением, Владимир
 
Ответить
Сообщение
Quote (Alex_ST)
Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …
А вот и нет! smile
Мало того, Merge+Delete тоже работает мягче, чем Delete - я пользуюсь этим в утилите smile
Quote (Alex_ST)
Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться
Есть более сложные ситуации sad
Например, в приложенном файле на листе пусто, но высота при удалении скачет

Автор - v__step
Дата добавления - 10.11.2011 в 14:16
v__step Дата: Четверг, 10.11.2011, 14:22 | Сообщение № 79
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Quote (Alex_ST)
у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками"
Да, но в примере 456 группированный шейп слетел несмотря на то, что я выставил для него "не перемещать и не изменять", это более чем серьезно!

Quote (Alex_ST)
А если только до конца UsedRange , то нет!
Очень часто автор умышленно располагает шэйпы за границами значимого - это абсолютно нормально... кстати, в примере 456, взятом из живого расчета, так и есть

Quote (Alex_ST)
...ты имел в виду Шэйпы "плывут" по размерам!... на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл
Да нет же, есть 2 разных эффекта: один связан с ячейками, а другой - с шейпами, и оба хреновые


С уважением, Владимир

Сообщение отредактировал v__step - Четверг, 10.11.2011, 16:44
 
Ответить
Сообщение
Quote (Alex_ST)
у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками"
Да, но в примере 456 группированный шейп слетел несмотря на то, что я выставил для него "не перемещать и не изменять", это более чем серьезно!

Quote (Alex_ST)
А если только до конца UsedRange , то нет!
Очень часто автор умышленно располагает шэйпы за границами значимого - это абсолютно нормально... кстати, в примере 456, взятом из живого расчета, так и есть

Quote (Alex_ST)
...ты имел в виду Шэйпы "плывут" по размерам!... на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл
Да нет же, есть 2 разных эффекта: один связан с ячейками, а другой - с шейпами, и оба хреновые

Автор - v__step
Дата добавления - 10.11.2011 в 14:22
v__step Дата: Пятница, 11.11.2011, 09:25 | Сообщение № 80
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

С добрым утром, Лёша! smile
Вчера вечером дома попробовал Clear vs Merge/Unmerge - результат близкий, но Clear работает быстрее.
В XL2007 оба метода проходят относительно быстро, но преимущество Clear возрастает.

На выходные хочу написать программу-тестер wink
Он должен выполнить на всех файлах в папке ряд действий, по которым много вопросов (поведение Shapes, эффективность разных способов очистки листа, быстродействие) и выдать статистику
У себя я готов проверить много файлов
Потом попрошу тебя подключиться к эксперименту

Так мы попытаемся нащупать слабые места программы, а заодно найти тестовые файлы на будующее и понять причины разрастания листов (это пригодится для теоретического раздела, который хорошо было бы включить в Справку)


С уважением, Владимир
 
Ответить
СообщениеС добрым утром, Лёша! smile
Вчера вечером дома попробовал Clear vs Merge/Unmerge - результат близкий, но Clear работает быстрее.
В XL2007 оба метода проходят относительно быстро, но преимущество Clear возрастает.

На выходные хочу написать программу-тестер wink
Он должен выполнить на всех файлах в папке ряд действий, по которым много вопросов (поведение Shapes, эффективность разных способов очистки листа, быстродействие) и выдать статистику
У себя я готов проверить много файлов
Потом попрошу тебя подключиться к эксперименту

Так мы попытаемся нащупать слабые места программы, а заодно найти тестовые файлы на будующее и понять причины разрастания листов (это пригодится для теоретического раздела, который хорошо было бы включить в Справку)

Автор - v__step
Дата добавления - 11.11.2011 в 09:25
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!