Конечно, с последней 011_! Один из багов очень серьезный! - не распознавался как раз тот диапазон, который надо удалять при чистке... Я не очень доверяю методу Range, а постоянно пользуюсь Offset + Resize - это старые, проверенные друзья
Есть безумная мысль: а что если не удалять строки/столбцы, а только объединить и разъединить их?! Я уже попробовал – объекты на месте, даже присоединенные к ячейкам, весь видимый мусор уходит... Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист
Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги? Любой лист тем ценнее для нас, чем он чувствительней... Лист высокой чувствительности на вес золота!! Я бы очень хотел заполучить такой лист, потому что, возможно, удастся понять природу разбухания
У меня у самого были такие книги. Иногда ко мне приходили сотрудники - просили помочь. Я обычно удалял лишнее, и проблема снималась
Чувствительность группы в 8conv*.xls объясняется ее расположением справа от диаграммы (при перенесении в другое место все работает нормально)
Конечно, с последней 011_! Один из багов очень серьезный! - не распознавался как раз тот диапазон, который надо удалять при чистке... Я не очень доверяю методу Range, а постоянно пользуюсь Offset + Resize - это старые, проверенные друзья
Есть безумная мысль: а что если не удалять строки/столбцы, а только объединить и разъединить их?! Я уже попробовал – объекты на месте, даже присоединенные к ячейкам, весь видимый мусор уходит... Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист
Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги? Любой лист тем ценнее для нас, чем он чувствительней... Лист высокой чувствительности на вес золота!! Я бы очень хотел заполучить такой лист, потому что, возможно, удастся понять природу разбухания
У меня у самого были такие книги. Иногда ко мне приходили сотрудники - просили помочь. Я обычно удалял лишнее, и проблема снималась
Чувствительность группы в 8conv*.xls объясняется ее расположением справа от диаграммы (при перенесении в другое место все работает нормально)v__step
С уважением, Владимир
Сообщение отредактировал v__step - Среда, 09.11.2011, 11:58
Ну, блин, и задачку я на себя взял - шибко толстый файл обезжиривать... Но уж "Назвался клизмой, полезай … " В общем так: 1. Утром народ мне скинул тот жирный файл. Он весил 44,256М. Файл был общего доступа (!) и известен пароль только для чтения. С большим трудом снял пароль и отменил общий доступ. Файл сразу похудел до 20,024М (из-за пересохранения в режиме монопольного доступа) 2. Запустил твой обезжириватель №11_ Через 19 минут (с трудом дождался, т.к. проц на это время загрузился почти постоянно на 100% и оперативка выжралась почти под ноль) получил "обезжиренный" файл 16,093М Проверить целостность информации в каждой ячейке, естественно, не могу ввиду её монструозности. Но если очень длинный и разноцветный текст внутри ячеек, форматирование ячеек, закреплённые области экрана, примечания и автофильтры переносятся нормально, то больше там ничего и нет. Даже формул нет.
Ну, блин, и задачку я на себя взял - шибко толстый файл обезжиривать... Но уж "Назвался клизмой, полезай … " В общем так: 1. Утром народ мне скинул тот жирный файл. Он весил 44,256М. Файл был общего доступа (!) и известен пароль только для чтения. С большим трудом снял пароль и отменил общий доступ. Файл сразу похудел до 20,024М (из-за пересохранения в режиме монопольного доступа) 2. Запустил твой обезжириватель №11_ Через 19 минут (с трудом дождался, т.к. проц на это время загрузился почти постоянно на 100% и оперативка выжралась почти под ноль) получил "обезжиренный" файл 16,093М Проверить целостность информации в каждой ячейке, естественно, не могу ввиду её монструозности. Но если очень длинный и разноцветный текст внутри ячеек, форматирование ячеек, закреплённые области экрана, примечания и автофильтры переносятся нормально, то больше там ничего и нет. Даже формул нет.Alex_ST
Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги? Любой лист тем ценнее для нас, чем он чувствительней...
Я не понимаю о чём ты говоришь Если речь идёт про лист, где в UsedRange есть ячейки с формулами, ссылающимися на значения в ячейках вне UsedRange , то в чём проблема тебе самому за 1 минуту (вместе с созданием новой книги, написанием на Лист1 в А1 формулы =Лист2!D100 и сохранением этой книги) такой лист создать? А в той чужой жирной книге нет вообще ничего того, что не умеют делать в Ёкселе начинающие юзеры (ни формул, ни имён, ни ссылок, ни связей, ни макросов, ни … ). Там просто на самом главном листе лежит большая таблица 40 столбцов на 16000 строк. В ячейках этой таблицы разношрифтовой текст зачастую больше чем 256 символов, да ещё и раскрашенный в разные цвета. Кстати, сейчас удалил из книги все 15 дополнительных листов, оставив только самый важный. И книга после сохранения стала весить 14,746Мег! Так что остальные листы были мелочью. А лист из книги выдернуть не могу - там строго конфиденциальная информация (наименования и трассы кабелей, кабельные колодцы, подрядчики, заказчики и т.д. и т.п.)
Quote (v__step)
Для чистоты эксперимента очень нужен 1 небольшой по размеру, но чувствительный к удалению "заграничных" ячеек лист Ты не мог бы прислать мне 1 такой лист из Вашей знаменитой толстой книги? Любой лист тем ценнее для нас, чем он чувствительней...
Я не понимаю о чём ты говоришь Если речь идёт про лист, где в UsedRange есть ячейки с формулами, ссылающимися на значения в ячейках вне UsedRange , то в чём проблема тебе самому за 1 минуту (вместе с созданием новой книги, написанием на Лист1 в А1 формулы =Лист2!D100 и сохранением этой книги) такой лист создать? А в той чужой жирной книге нет вообще ничего того, что не умеют делать в Ёкселе начинающие юзеры (ни формул, ни имён, ни ссылок, ни связей, ни макросов, ни … ). Там просто на самом главном листе лежит большая таблица 40 столбцов на 16000 строк. В ячейках этой таблицы разношрифтовой текст зачастую больше чем 256 символов, да ещё и раскрашенный в разные цвета. Кстати, сейчас удалил из книги все 15 дополнительных листов, оставив только самый важный. И книга после сохранения стала весить 14,746Мег! Так что остальные листы были мелочью. А лист из книги выдернуть не могу - там строго конфиденциальная информация (наименования и трассы кабелей, кабельные колодцы, подрядчики, заказчики и т.д. и т.п.)Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Среда, 09.11.2011, 13:04
Спасибо, спасибо! Мне даже трудно представить что сейчас происходило: в работе кроме этого бегемота одновременно был второй почти такой же, и из одного в другой тянулись данные, объекты, форматы... удивительная картина
Лист о котором я говорю, разрастается не из-за ссылок на ячейки вне UsedRange. Я сам сталкивался со случаями внезапного увеличения книги, но никогда не задавался целью понять природу этого явления Очень жалко, что никогда не сохранял больные листы до лечения... По памяти, это было связано с заливкой, границами и т.п.
Лёш, если можно, проведи еще 1 эксперимент (а я попробую поработать так со своими архивами) 1) на самом главном и толстом листе вручную удалить сначала все лишние столбцы, а потом лишние строки (попробовать также наоборот); сохранить и оценить эффект 2) проделать то же, но не удалять, а сначала объединить ячейки, а затем разъединить 3) проделать то же, что в (2), но до объединения скопировать в левый верхний угол каждого из объединяемых диапазонов чистую ячейку из новой книги 4) подвести итоги соревнования
Лёш, так все-таки твоя оценка в целом: воно робе чи нi?
Спасибо, спасибо! Мне даже трудно представить что сейчас происходило: в работе кроме этого бегемота одновременно был второй почти такой же, и из одного в другой тянулись данные, объекты, форматы... удивительная картина
Лист о котором я говорю, разрастается не из-за ссылок на ячейки вне UsedRange. Я сам сталкивался со случаями внезапного увеличения книги, но никогда не задавался целью понять природу этого явления Очень жалко, что никогда не сохранял больные листы до лечения... По памяти, это было связано с заливкой, границами и т.п.
Лёш, если можно, проведи еще 1 эксперимент (а я попробую поработать так со своими архивами) 1) на самом главном и толстом листе вручную удалить сначала все лишние столбцы, а потом лишние строки (попробовать также наоборот); сохранить и оценить эффект 2) проделать то же, но не удалять, а сначала объединить ячейки, а затем разъединить 3) проделать то же, что в (2), но до объединения скопировать в левый верхний угол каждого из объединяемых диапазонов чистую ячейку из новой книги 4) подвести итоги соревнования
Лёш, так все-таки твоя оценка в целом: воно робе чи нi? v__step
С уважением, Владимир
Сообщение отредактировал v__step - Среда, 09.11.2011, 13:40
Та хто ж його знає, на всіх видах файлів вона працює чи ні? (прошу заранее прощения если написал с ошибками…это не я переводил с москальского на українську мову, а Гугл-переводчик)
Не стесняйся своих успехов! Версию 011_ уже вполне можно выкладывать на всеобщее обозрение для массового тестирования на Планету. Только справку чуть подправь - уж больно поучительно-академически звучит, например, фраза
Quote
Имена, не без оснований, могут считаться объектами неприкосновенными, кроме того, они тяжело редактируются (даже в последних версиях Excel)
И уточни там формулировки чтобы понятно было на каком листе и когда гульки ставить или снимать. Да, а "мордочки" сделано-не сделано ты актуализировал? Да и по поводу префикса Fat надо бы подумать... Может быть, вместо такого префикса сделать суффикс _old чтобы при авто-сортировке в папке файлы не "разбегались" и не так шокировать юзеров таким названием?
Та хто ж його знає, на всіх видах файлів вона працює чи ні? (прошу заранее прощения если написал с ошибками…это не я переводил с москальского на українську мову, а Гугл-переводчик)
Не стесняйся своих успехов! Версию 011_ уже вполне можно выкладывать на всеобщее обозрение для массового тестирования на Планету. Только справку чуть подправь - уж больно поучительно-академически звучит, например, фраза
Quote
Имена, не без оснований, могут считаться объектами неприкосновенными, кроме того, они тяжело редактируются (даже в последних версиях Excel)
И уточни там формулировки чтобы понятно было на каком листе и когда гульки ставить или снимать. Да, а "мордочки" сделано-не сделано ты актуализировал? Да и по поводу префикса Fat надо бы подумать... Может быть, вместо такого префикса сделать суффикс _old чтобы при авто-сортировке в папке файлы не "разбегались" и не так шокировать юзеров таким названием?Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Среда, 09.11.2011, 14:24
Код в этой работе имеет подчиненное значение Почти все основные эффекты можно поймать в ручном режиме без всякого VBA Все личные данные в свойствах файла и модулях этой утилиты пустые (это надолго) - я жду сотрудничества и соавторства
Лёша, ты меня поставил на ноги, а Сергей затравил эту тему... Я не пойду никуда без вас.
Мало того, я догадываюсь, что Сергея мог даже обидеть тем, что создал свой топик на его тему - поверь, это было сделано абсолютно спонтанно... мы действительно думали параллельно
Код в этой работе имеет подчиненное значение Почти все основные эффекты можно поймать в ручном режиме без всякого VBA Все личные данные в свойствах файла и модулях этой утилиты пустые (это надолго) - я жду сотрудничества и соавторства
Лёша, ты меня поставил на ноги, а Сергей затравил эту тему... Я не пойду никуда без вас.
Мало того, я догадываюсь, что Сергея мог даже обидеть тем, что создал свой топик на его тему - поверь, это было сделано абсолютно спонтанно... мы действительно думали параллельноv__step
Вова, а формат главной (верхней левой) ячейки области объединения ячеек разве после разъединения не распространяется на те, которые были скрыты при объединении?
Вова, а формат главной (верхней левой) ячейки области объединения ячеек разве после разъединения не распространяется на те, которые были скрыты при объединении?Alex_ST
Так это же и есть то, что нам нужно - распространить правильный формат!
Просто должна быть настраиваемая опция Если человек хочет сделать заливку по пустым ячейкам (так часто делают), пусть распространяется заливка (придется позаботится об отсутствии границ и прочего мусора) Если он любитель заграничной чистоты, то распространяться будет формат девственно чистой ячейки, взятой из новой книги (предварительно скопируем ее в левый верхних угол того диапазона, который будем объединять)
Объединение проявило силу (эффективно уменьшает размер файла) и деликатность - не тронуло высоты строк и объекты Прямо как хороший стиральный порошок - чистит, выводит пятна, и без линьки
Так это же и есть то, что нам нужно - распространить правильный формат!
Просто должна быть настраиваемая опция Если человек хочет сделать заливку по пустым ячейкам (так часто делают), пусть распространяется заливка (придется позаботится об отсутствии границ и прочего мусора) Если он любитель заграничной чистоты, то распространяться будет формат девственно чистой ячейки, взятой из новой книги (предварительно скопируем ее в левый верхних угол того диапазона, который будем объединять)
Объединение проявило силу (эффективно уменьшает размер файла) и деликатность - не тронуло высоты строк и объекты Прямо как хороший стиральный порошок - чистит, выводит пятна, и без линькиv__step
С уважением, Владимир
Сообщение отредактировал v__step - Четверг, 10.11.2011, 09:39
Это будет формат девственно чистой ячейки, взятой из новой книги
А! Ну тогда ДА Только я немного не въехал, а зачем такие сложности? Не будет слишком долго? А если не 2003-й, а 2007 или 2010? Там же строк/столбцов просто дофига и больше... Чем не устраивает простой метод .Clear или уж чтобы наверняка всё очистить (я просто не искал в справке, всё ли в объекте Range очищает метод .Clear ?), то последовательно применённые .ClearComments .ClearContents .ClearFormats .ClearNotes .ClearOutline Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее и это нужно "коцать". А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.
Quote (v__step)
Это будет формат девственно чистой ячейки, взятой из новой книги
А! Ну тогда ДА Только я немного не въехал, а зачем такие сложности? Не будет слишком долго? А если не 2003-й, а 2007 или 2010? Там же строк/столбцов просто дофига и больше... Чем не устраивает простой метод .Clear или уж чтобы наверняка всё очистить (я просто не искал в справке, всё ли в объекте Range очищает метод .Clear ?), то последовательно применённые .ClearComments .ClearContents .ClearFormats .ClearNotes .ClearOutline Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее и это нужно "коцать". А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.Alex_ST
Лёша, с добрым утром! Я подправил на свежую голову вчерашний пост (править - мое любимое занятие), а ты его уже прочитал Сейчас совершу нечто страшное: напишу "Ёксель" (это ведь не оскорбительно, правда?) и воспользуюсь цитатами
Quote (Alex_ST)
А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.
При удалении сбивается высота отдельных строк и слетает часть объектов. Бороться с этим очень сложно, почти невозможно Я все время пользовался именно удалением как самым грубым средством очистки Объединение кажется чем-то очень похожим, почти тем же
Quote (Alex_ST)
Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее.
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).
Возможно, но надо проверить. Я опасаюсь неполноты очистки и сбоев (все-таки, много операций, и для каждой Ёксель должен побеспокоиться не столько о том, что делать, сколько о том, чего делать не надо. Объединение работает наверное, более надежно, просто и жестко, а это как раз то, что надо. Скорость скорее всего, только возрастет
Quote (Alex_ST)
Не будет слишком долго? А если не 2003-й, а 2007 или 2010
Я не думаю, что это долго, т.к. представляю себя на месте Ёкселя, и не вижу проблемы - это было бы не сложнее удаления. Скорее всего, это будет быстрее, чем удаление, т.к. на сбивку высот строк и порчу объектов тоже нужно время...
Давай не спешить с выводами, а попробуем все варианты Самое главное для меня - это отказ от удаления Остальное - в рабочем порядке
Сейчас в V011_ перед удалением выполняется объединение, чтобы не слетали строки В каком Ёкселе ты чистил бегемота?
Только что попробовал Range.Clear - очень удачно - размер уменьшился точно так же... Возможно, ты прав, большое спасибо за совет! Так еще лучше! Все-таки, крутится в голове, что у меня когда-то были проблемы с Clear...
Чтобы рассеять все сомнения, придется капитально поработать Нужен эксперимент! Я попробую набрать как можно больше самых разных файлов и почистить по-разному
Лёша, с добрым утром! Я подправил на свежую голову вчерашний пост (править - мое любимое занятие), а ты его уже прочитал Сейчас совершу нечто страшное: напишу "Ёксель" (это ведь не оскорбительно, правда?) и воспользуюсь цитатами
Quote (Alex_ST)
А, найдя последнюю значимую строку/столбец, дальше до конца листа все строки/столбцы можно просто удалить и Ёксель вместо них сам вставит новенькие и чистенькие.
При удалении сбивается высота отдельных строк и слетает часть объектов. Бороться с этим очень сложно, почти невозможно Я все время пользовался именно удалением как самым грубым средством очистки Объединение кажется чем-то очень похожим, почти тем же
Quote (Alex_ST)
Самое трудное, наверное, определиться с границами диапазона, вне которых всё на самом деле лишнее.
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).
Возможно, но надо проверить. Я опасаюсь неполноты очистки и сбоев (все-таки, много операций, и для каждой Ёксель должен побеспокоиться не столько о том, что делать, сколько о том, чего делать не надо. Объединение работает наверное, более надежно, просто и жестко, а это как раз то, что надо. Скорость скорее всего, только возрастет
Quote (Alex_ST)
Не будет слишком долго? А если не 2003-й, а 2007 или 2010
Я не думаю, что это долго, т.к. представляю себя на месте Ёкселя, и не вижу проблемы - это было бы не сложнее удаления. Скорее всего, это будет быстрее, чем удаление, т.к. на сбивку высот строк и порчу объектов тоже нужно время...
Давай не спешить с выводами, а попробуем все варианты Самое главное для меня - это отказ от удаления Остальное - в рабочем порядке
Сейчас в V011_ перед удалением выполняется объединение, чтобы не слетали строки В каком Ёкселе ты чистил бегемота?
Только что попробовал Range.Clear - очень удачно - размер уменьшился точно так же... Возможно, ты прав, большое спасибо за совет! Так еще лучше! Все-таки, крутится в голове, что у меня когда-то были проблемы с Clear...
Чтобы рассеять все сомнения, придется капитально поработать Нужен эксперимент! Я попробую набрать как можно больше самых разных файлов и почистить по-разномуv__step
С уважением, Владимир
Сообщение отредактировал v__step - Четверг, 10.11.2011, 12:08
Это, наверное, относится к высоте строк в оставшемся диапазоне при удалении столбцов правее и до конца листа? Ведь сбивание высоты при удалении строк ниже UsedRange никак сказаться не может, да и не интересно никому. Странно... Не замечал такого ни разу... Есть листик с примером этого эффекта? Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться... Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …
Quote (v__step)
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).
А если на листе заголовок, а ниже его - рисунок? Вообще: только что проверил - на пустом листе сделал маленькую табличку-шапку, ниже её поместил объект WodrArt и пару автофигур, а потом макросом выделил UsedRange … Облом! Выделилась только табличка-шапка! А при удалении строк ниже её все бывшие там шэйпы не удалились, а просто стали невидимы, т.к. поимели нулевую высоту! Вот к стати и ещё один из объектов, которые часто являются мусором на листе - шэйпы, имеющие нулевые размеры хотя бы по одному из измерений. Хотя... А вдруг это сделано намеренно и программой когда нужно их размеры выставляются как надо? И те шэйпы, которые невидимы, тоже нельзя просто удалять, т.к. я сам, например, иногда просто показываю и позиционирую программно одну из заранее созданных и сделанных невидимыми картинок на листе...
Привет, володя! Ты уже не в первый раз пишешь:
Quote (v__step)
При удалении сбивается высота отдельных строк
Это, наверное, относится к высоте строк в оставшемся диапазоне при удалении столбцов правее и до конца листа? Ведь сбивание высоты при удалении строк ниже UsedRange никак сказаться не может, да и не интересно никому. Странно... Не замечал такого ни разу... Есть листик с примером этого эффекта? Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться... Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …
Quote (v__step)
Границы мы искали по последней значимой строке и столбцу (с формулами или значениями).
А если на листе заголовок, а ниже его - рисунок? Вообще: только что проверил - на пустом листе сделал маленькую табличку-шапку, ниже её поместил объект WodrArt и пару автофигур, а потом макросом выделил UsedRange … Облом! Выделилась только табличка-шапка! А при удалении строк ниже её все бывшие там шэйпы не удалились, а просто стали невидимы, т.к. поимели нулевую высоту! Вот к стати и ещё один из объектов, которые часто являются мусором на листе - шэйпы, имеющие нулевые размеры хотя бы по одному из измерений. Хотя... А вдруг это сделано намеренно и программой когда нужно их размеры выставляются как надо? И те шэйпы, которые невидимы, тоже нельзя просто удалять, т.к. я сам, например, иногда просто показываю и позиционирую программно одну из заранее созданных и сделанных невидимыми картинок на листе...Alex_ST
Еще 1 пример - удали все строки, начиная с желтой в моем файле Группа плывет! Обрати внимание! Все объекты этого листа предварительно были разгруппированы и отвязаны от ячеек Затем группировка и для группы персональная отвязка от ячеек (чище некуда)
Единственная провинность этой группы - то, что слева оказалась диаграмма Если сместить группу вниз, она стабилизируется
Чего еще ожидать от удаления строк/столбцов В этом плане Clear или Merge-Unmerge смотрятся очень хорошо
На сегодняшний день в чистилке я обхожу проблемы Shapes, удаляя лишние строки/столбцы в новой книге до переноса объектов Но задача FitnessLight ужесточает требования...
Еще 1 пример - удали все строки, начиная с желтой в моем файле Группа плывет! Обрати внимание! Все объекты этого листа предварительно были разгруппированы и отвязаны от ячеек Затем группировка и для группы персональная отвязка от ячеек (чище некуда)
Единственная провинность этой группы - то, что слева оказалась диаграмма Если сместить группу вниз, она стабилизируется
Чего еще ожидать от удаления строк/столбцов В этом плане Clear или Merge-Unmerge смотрятся очень хорошо
На сегодняшний день в чистилке я обхожу проблемы Shapes, удаляя лишние строки/столбцы в новой книге до переноса объектов Но задача FitnessLight ужесточает требования...v__step
Ах вот что ты имел в виду! Шэйпы "плывут" по размерам! Ну так точнее выражаться надо было Ведь ты же пишешь:
Quote (v__step)
При удалении сбивается высота отдельных строк
а на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл.
Ах вот что ты имел в виду! Шэйпы "плывут" по размерам! Ну так точнее выражаться надо было Ведь ты же пишешь:
Quote (v__step)
При удалении сбивается высота отдельных строк
а на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл.Alex_ST
Постили почти дуплетом, поэтому твой предыдущий пост я не успел прочитать... А у меня там ничего не "ползёт" почему-то при удалении от строк жёлтой до конца листа... И от жёлтой до конца UsedRange тоже. Может, я не внимательный или слепой?
Точно: слепой и не внимательный! Действительно, картинка искажается. Но только при удалении до конца листа! А если только до конца UsedRange , то нет!
Постили почти дуплетом, поэтому твой предыдущий пост я не успел прочитать... А у меня там ничего не "ползёт" почему-то при удалении от строк жёлтой до конца листа... И от жёлтой до конца UsedRange тоже. Может, я не внимательный или слепой?
Точно: слепой и не внимательный! Действительно, картинка искажается. Но только при удалении до конца листа! А если только до конца UsedRange , то нет!Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Четверг, 10.11.2011, 13:38
Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …
А вот и нет! Мало того, Merge+Delete тоже работает мягче, чем Delete - я пользуюсь этим в утилите
Quote (Alex_ST)
Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться
Есть более сложные ситуации Например, в приложенном файле на листе пусто, но высота при удалении скачет
Quote (Alex_ST)
Но то же самое произойдёт и при использовании .Clear , и при .Merge/.Unmerge …
А вот и нет! Мало того, Merge+Delete тоже работает мягче, чем Delete - я пользуюсь этим в утилите
Quote (Alex_ST)
Я, правда, иногда чтобы какой-нибудь заголовок красиво разместился в объединённой ячейке (жутко их не люблю, но иногда приходится использовать), увеличиваю размер шрифта в какой-нибудь ячейке правее UsedRange в этой строке. Тогда, действительно, при удалении столбцов правее, в UsedRange сделается автоподбор высоты строк и заголовок может обкоцаться
Есть более сложные ситуации Например, в приложенном файле на листе пусто, но высота при удалении скачетv__step
у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками"
Да, но в примере 456 группированный шейп слетел несмотря на то, что я выставил для него "не перемещать и не изменять", это более чем серьезно!
Quote (Alex_ST)
А если только до конца UsedRange , то нет!
Очень часто автор умышленно располагает шэйпы за границами значимого - это абсолютно нормально... кстати, в примере 456, взятом из живого расчета, так и есть
Quote (Alex_ST)
...ты имел в виду Шэйпы "плывут" по размерам!... на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл
Да нет же, есть 2 разных эффекта: один связан с ячейками, а другой - с шейпами, и оба хреновые
Quote (Alex_ST)
у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками"
Да, но в примере 456 группированный шейп слетел несмотря на то, что я выставил для него "не перемещать и не изменять", это более чем серьезно!
Quote (Alex_ST)
А если только до конца UsedRange , то нет!
Очень часто автор умышленно располагает шэйпы за границами значимого - это абсолютно нормально... кстати, в примере 456, взятом из живого расчета, так и есть
Quote (Alex_ST)
...ты имел в виду Шэйпы "плывут" по размерам!... на самом деле - изменяются размеры шэйпов, у которых по умолчанию выставляется свойство "перемещать и изменять вместе с ячейками". А это как раз и есть тот эффект обнуления размерности шэйпа при удалении строки/столбца, о котором я только что написАл
Да нет же, есть 2 разных эффекта: один связан с ячейками, а другой - с шейпами, и оба хреновыеv__step
С уважением, Владимир
Сообщение отредактировал v__step - Четверг, 10.11.2011, 16:44
С добрым утром, Лёша! Вчера вечером дома попробовал Clear vs Merge/Unmerge - результат близкий, но Clear работает быстрее. В XL2007 оба метода проходят относительно быстро, но преимущество Clear возрастает.
На выходные хочу написать программу-тестер Он должен выполнить на всех файлах в папке ряд действий, по которым много вопросов (поведение Shapes, эффективность разных способов очистки листа, быстродействие) и выдать статистику У себя я готов проверить много файлов Потом попрошу тебя подключиться к эксперименту
Так мы попытаемся нащупать слабые места программы, а заодно найти тестовые файлы на будующее и понять причины разрастания листов (это пригодится для теоретического раздела, который хорошо было бы включить в Справку)
С добрым утром, Лёша! Вчера вечером дома попробовал Clear vs Merge/Unmerge - результат близкий, но Clear работает быстрее. В XL2007 оба метода проходят относительно быстро, но преимущество Clear возрастает.
На выходные хочу написать программу-тестер Он должен выполнить на всех файлах в папке ряд действий, по которым много вопросов (поведение Shapes, эффективность разных способов очистки листа, быстродействие) и выдать статистику У себя я готов проверить много файлов Потом попрошу тебя подключиться к эксперименту
Так мы попытаемся нащупать слабые места программы, а заодно найти тестовые файлы на будующее и понять причины разрастания листов (это пригодится для теоретического раздела, который хорошо было бы включить в Справку)v__step