Удаление ненужных строк в листе Excel
Удаление ненужных строк в листе Excel
В файле Excel 2010 содержится около 100 строк, содержащих данные, но весь рабочий лист отображает 1048576 пустых строк (размер файла составляет около 2,5 МБ). Мне нужно удалить пустые строки после данных. Но выбор строки и ее удаление ничего не делают. Как удалить эти ненужные строки?
Может кто-нибудь объяснить, что не так с этим файлом?
В вашем файле определенно что-то не так. Может быть проще скопировать 100 строк, которые вы хотите сохранить, в новый файл рабочей книги, чем пытаться удалить миллион строк .
Поиск дубликатов во всем документе обнаружил и удалил более 1 миллиона дубликатов. Таким образом, в этой книге есть скрытые символы или что-то занимающее место. Это все еще не помогло, потому что размер сохранения после этого вырос до 35 МБ.
Решение: после того, как я скопировал заполненные строки в новую книгу, размер сохраненного файла составляет всего 10 КБ.
Комментатор на посту Роберта точно в цель. После удаления ненужных строк необходимо сохранить книгу, закрыть, а затем снова открыть ее.
Microsoft описывает шаги в своей статье «Как сбросить последнюю ячейку в Excel» . Они также упоминают этап «Сохранить», но я бы хотел, чтобы они уделяли ему больше внимания. Пока вы не сохраните и не откроете книгу еще раз, похоже, что ваше удаление ничего не сделало!
Копирование хороших строк в новую рабочую книгу также является хорошим решением, особенно если у вас нет проблем с макросами или формулами со сложными ссылками на ячейки.
Выберите строки, которые вы хотите удалить. Если у вас Office 2003: http://www.mrexcel.com/archive/Edit/4259.html
2007 и более поздние версии: на ленте на вкладке «Главная», в группе «Ячейки» и кнопке «Удалить» (блок называется ячейками), выберите маленькую стрелку под ней, затем выберите «Удалить строки листа». Сохраните файл и откройте файл.
Другая причина может заключаться в том, что один или несколько столбцов рабочего листа упоминаются в некоторой формуле в другом рабочем листе без указания количества строк.
Наилучший вариант — использовать Ctrl + Shift + Downarrow, чтобы скрыть ненужные строки, и Ctrl + Shift + Стрелка вправо, чтобы скрыть ненужные столбцы.
У меня была такая же проблема, и я нашел способ ее исправить, который несколько раз работал для меня.
Удостоверьтесь, что у вас нет форматирования вниз по этим столбцам (например, границы ячеек применяются ко всему столбцу). Возьмите полосу прокрутки и перетащите ее до конца. Выберите нижний ряд (1048579, я полагаю) и кучу над ним, около 20-30, все, что видно на экране. Щелкните правой кнопкой мыши область заголовка строки и нажмите Delete . Перетащите полосу прокрутки вверх и выберите ячейку, в которой находятся ваши данные. Выберите другой лист, затем вернитесь. Это должно быть исправлено.
Как удалить ненужные строки и столбцы на листе Excel
( Это не займет столько времени, сколько может предложить первый взгляд, и это безопасно!)
Есть два листа, упомянутых в процедуре ниже.
Давайте назовем ваш оригинальный лист YourOriginalSheet (он представляет фактическое имя вашего исходного листа).
Назовем другой лист ShortSheet , который будет содержать копию только соответствующих ячеек.
(1) В YourOriginalSheet , Select а Copy диапазон соответствующих ячеек (не вставить еще нигде).
(2) Добавьте новый лист с именем ShortSheet , поместите курсор в ячейку, представляющую верхний левый угол копируемого диапазона (вероятно A1 ), и вставьте так:
(2a) Paste Special. > Formulas [щелкните правой кнопкой мыши верхний левый угол ячейки]
(2b) Paste Special. > Values
(2c) Paste Special. > Formats
(2d) Paste Special. > Column Widths
(2e) Включите другие Paste Special варианты, которые, по вашему мнению, могут помочь сделать лист лучше.
(3) Нажмите, Ctrl-Shift-End чтобы найти нижний правый угол, ShortSheet чтобы убедиться, что он содержит все соответствующие данные.
(4) Save рабочая тетрадь. ( Save As . новый файл, если вы хотите сделать резервную копию.)
(5) Удалить YourOriginalSheet (соответствующие данные в настоящее время сохраняются в ShortSheet .)
(6) Переименуйте ShortSheet в фактическое имя вашего оригинального листа.
Ничего не изменилось, за исключением того, что книга стала намного меньше, поэтому все макросы, внешние ссылки на этот лист и т. Д. Должны работать.
Вот macro для выполнения шагов в (2).
Перед использованием макроса Select и Copy соответствующего диапазона, как было сделано в шаге (1).
Макросы для Excel. Как создать и как удалить макрос в Excel?
Как правило, знакомство с языком VBA начинается с выполнения простейших программ, называемых макросами. С их помощью можно выполнить такие функции, как удаление листа или строки в Excel. В дальнейшем полученные знания можно использовать для написания более сложных программ.
Что такое макрос и зачем он нужен?
Это специальная программа, написанная на языке VBA для выполнения каких-либо функций в приложении MS Office. Можно воспользоваться уже готовым решением, которое легко найти на просторах сети Интернет, либо написать такую программу самостоятельно. С этим может справиться даже человек, абсолютно незнакомый с языком VBA. Достаточно нажать кнопку «Записать макрос», выполнить некоторые действия, которые затем можно повторить, просто запустив данный макрос, и вовремя нажать кнопку «Стоп».
Удаление листа Excel
Вам будет интересно: MiFlash: как пользоваться, особенности прошивки, возможные проблемы и советы специалистов
Делается это следующим образом:
- Создаем новый документ Excel (на примере Excel 2010).
- Вставляем несколько листов и вносим в них произвольные данные.
- Чтобы открыть редактор VBA, нажимаем Alt+F11.
- Для вставки нового модуля (собственно, это и есть макрос) переходим на вкладку Insert (Вставить) и выбираем Module.
- Вставляем код:
- Закрываем окно редактирования макроса.
- Закрываем редактор VBA.
- Сохраняем книгу как документ с поддержкой макросов.
- Открываем сохраненный документ.
- Переходим «Вид-Макросы-Макросы» и выбираем DeleteSheet.
- Нажимаем «Выполнить». Появится предупредительное сообщение о том, что в ячейках данного листа могут существовать данные. Чтобы удалить лист Excel макросом, нажимаем на кнопку «Удалить».
- Для удаления листа без предупредительного сообщения в код макроса необходимо добавить две строчки:
Удаление строк в Excel
Теперь посмотрим, как удалить строки макросами Excel. Для начала уберем одну строку. Чтобы модуль легче было искать, так его и назовем – DeleteRow.
После выполнения макроса в Excel удалится строка под первым номером. Остальные сдвинутся вверх. Для удаления нескольких меняем вторую строку кода на следующую:
В данном случае будут удалены строки со второй по пятнадцатую.
Удаление
Макросы являются программами и могут причинить существенный вред компьютеру. Теперь рассмотрим, как удалить макрос в Excel.
Открываем вкладку «Вид», нажимаем на «Макросы», выбираем верхнюю строку под названием «Макросы», выбираем подлежащий удалению и нажимаем соответствующую кнопку.
Процесс удаления макроса в Excel 2003 имеет одну особенность. Чтобы полностью убрать его, нужно будет вручную очистить все модули. Для этого нужно зайти в редактор Visual Basic.
Удаление макросов программным способом
Следующий способ, как можно удалить макрос в Excel, заключается в использовании надстройки – специальной программы, которая устанавливается отдельно и содержит в себе несколько модулей для выполнения различных функций. Одной из таких надстроек является Kutools. С помощью данной программы можно одновременно удалить все макросы Excel.
Данная надстройка имеет более 300 различных функций. Отметим некоторые интересные функции:
- преобразование обычных чисел в римские и обратно;
- конвертация валюты с использованием актуальных курсов валют;
- преобразование единиц измерения;
- поиск ячеек с определенным форматированием;
- удаление пустых листов, строк, столбцов.
При наличии большой базы макросов можно создать собственную надстройку. Благодаря этому можно будет разграничить «свои» и «чужие» (Excel будет им автоматически доверять).
Что делать, если он хранится в Личной книге? Как удалить макрос в Excel в этом случае? Сперва нужно отобразить скрытое окно. Для этого следует выбрать вкладку «Вид» и в группе «Окно» нажать кнопку «Отобразить». В дальнейшем процедура удаления макроса включает стандартные шаги.
Важно отметить, что при удалении через вкладку «Вид» открывается окно просмотра макросов. По умолчанию выбран пункт «Находится во всех открытых книгах». Как удалить макрос в Excel только для одного документа? Нужно выбрать соответствующий пункт в меню «Находится»: либо «Эта книга», либо пункт меню с названием данного документа.
Excel VBA Удаление выбранных строк в таблице
Я имею дело с огромной проблемой в течение пары недель, и я не могу ее исправить, несмотря ни на что. Что бы я ни делал, это работает какое-то время, пока что-то новое не поп.
Цель: в таблице разрешить пользователям выбирать строки (строки, в которых находится SELECTION), нажать короткий отрезок и удалить эти строки. Независимо от того, фильтруются ли они, а выбор находится в непересекающихся диапазонах или нет.
У меня есть код ниже, который я получил с другого сайта и изменил его:
Проблемы, которые я получаю, варьируются: от ошибки времени выполнения 1004: переместить ячейки в отфильтрованном диапазоне или таблицу, чтобы удалить метод clase (или что-то, это происходит реже, чем первый)
Мое мольба: получить помощь в исправлении этого кода и разрешить пользователям удалять строки, которые они выбирают, независимо от того, выбран ли выбранный диапазон в непрерывном или непересекающемся диапазоне.
Я думаю, у вас здесь есть пара вопросов, но наверняка, что может показаться противоречивым.
При программном удалении нескольких непоследовательных строк/столбцов/ячеек/областей лучше всего сделать это в обратном порядке.
Когда вы удаляете строку, Excel сдвигает строки под ней. Поэтому последующие номера строк легко путаются, вызывая ошибки или, что еще хуже, непреднамеренно потерянные данные.
пример
Представьте, что вы хотите удалить строки 1, 4, 5 and 7 . Если вы удаляете их по одному за раз, начиная с вершины, то вы удаляете строку 1 , которая позволяет номерам других строк удалять 3, 4 and 6 . Удалите 3 и теперь вам нужно удалить 3 and 5 .
Чтобы удалить строки 1, 4, 5 and 7 одному, начиная сверху, вам действительно нужно удалить строки 1, 3, 3, and 4 (да, вы бы дважды удалили строку 3 ).
Есть несколько способов обойти это:
Удалите все строки сразу. Вы можете присоединиться к каждой из выбранных строк с помощью метода Union а затем удалить весь диапазон в одном.
Или, мои предпочтения:
Перемещайтесь по строкам назад, начиная с нижней части данных и прокладывая себе путь вверх. Так как For..Each петля не может быть For..Each в обратном направлении, вам нужно переключиться на For..Next .
Вы можете найти последнюю заполненную строку (используя столбец A в моем примере) с свойством Range.End , а затем использовать метод Intersect для сравнения каждой строки с пользователем. .Selection строк и/или ячеек. Если они пересекаются, то вы можете. .Delete строку.
Приведенная выше процедура потребует незначительных изменений для настройки местоположения данных на вашем листе, но для меня это отлично.
Обратите внимание, что в моем сообщении выше несколько ссылок. всегда читайте официальную документацию перед использованием команд, с которыми вы не знакомы. Это также поможет с терминологией, так как есть много, чтобы привыкнуть. например, как вы злоупотребляли термином » Selection . VBA не выбирает строки, если вы не используете метод » Select . Общая ошибка. 🙂 Удачи!
Excel works!
Как правильно и быстро очистить ячейки в Excel?
Столкнувшись снова с тем, что люди тратят много времени на очистку ячеек, поймал себя на мысли, что действий по очистке данных, ячеек, таблиц довольно много. Как очистить все данные на листе? Как удалить только форматы? Как убрать формулы? Или может быть вам нужно очистить данные по условию? Действительно, возможностей много. Думаю, стоит подробно описать большинство способов. Как правильно и быстро очистить ячейки в Excel?
На самом деле, я бы разделил вопрос статьи на 3 части
- Как очистить форматы ячеек?
- Как очистить данные в ячейках Excel?
- Очистка/удаление прочих объектов, таких как диаграммы, автофигуры или сводные таблицы
Как быстро очистить ячейки в Excel от форматов?
Вам прислали файл сильно разукрашенный по цветам и его нужно очистить от форматов? Сделать это очень просто: выделяете нужный вам диапазон данных или весь лист сразу (нажав на уголок в левом верхнем углу таблиц).
Теперь ищите на ленте задач на вкладке Главная раздел Редактирование — в нем жмите кнопку Очистить
На выбор у вас будет несколько пунктов. Вы сможете
- Очистить все — т.е. удалить все данные на листе и форматы в том числе
- Очистить форматы — это как раз то, что нужно для примера
- Очистить содержимое — очищаем данные в ячейках, не трогая форматы
- Очистить примечания — удобная функция, если кто-то сильно зарецензировал ваш лист и оставил много примечаний. Появилась относительно недавно.
- Очистить гиперссылки — совсем новая возможность, появившаяся в 2016 версии. Позволяет очистить все ссылки на листе. Очень удобно, если вы скопировали данные из интернета, например, из Википедии, почти всегда копируется множество гиперссылок.
Если вы уже нажали пункт 2, то все ваши форматы очистились.
Но часто к форматам причисляют и условное форматирование . Мы знаем, что такое форматирование очень сильно грузит действия на листе, поэтому я не советую делать слишком много условий при помощи этой функции. Но если вы получили переформатированную книгу (как правило за счет копирования данных с условным форматированием много раз), то нужно знать, как его удалить.
Опять выделяете нужную область или лист. Идете Главная — раздел Стили — Условное форматирование — Удалить правила и например Удалить правила со всего листа.
Все, условные форматирования тоже удалились!
Как очистить данные в ячейках Excel? Очистка данных по условиям
Как вы знаете, удалить данные/информацию в ячейках Excel можно:
- нажатием кнопки Delete на клавиатуре, после выделения нужной области
- нажатием кнопки Удалить содержимое Главная — раздел Редактирование — в нем жмите кнопку Очистить содержимое (см. описание выше)
- можно удалить не только данные, но и сами ячейки. Выделив, к примеру, строку, кликнуть правой кнопкой мыши и нажав кнопку Удалить (она же Ctrl + кнопка минус )
Помимо этого можно удалить данные и по нужным условиям.
Самое простое решение — сперва отобрать данные для удаления автофильтром . После чего вы можете удалить в выбранных ячейках все, что вам нужно — формат, данные или даже сами ячейки ( Ctrl + кнопка минус )
Если вам необходимо убрать формулы в имеющихся вычислениях, то воспользуйтесь специальной вставкой и скопируйте только значения ячеек туда же.
Удаление объектов, очистка листов от диаграмм или прочих добавленных объектов
Чтобы удалить диаграмму, или автофигуры, нужно сперва ее выбрать, а затем удалить кнопкой Delete или через правую кнопку мыши — Удалить (см. выше). Но как быть, если вам необходимо удалить сразу несколько объектов — зажмите Ctrl и выберите нужные объекты. Если объектов очень много, то придется воспользоваться макросом, например, предложенном в пункте 4, этой статьи .
Так же объекты можно удалить, если вы перейдете в меню Главная — раздел Редактирование — Найти и выделить — пункт Выделение группы ячеек — Объекты. Так можно очистить ячейки в Excel от объектов.
Напомню, что объекты могут значительно замедлять работу файла. Особенно, если данные копировались из внешнего источника.
Если же вам необходим специальный макрос для удаления специфических объектов, то пишите в комментариях или мне на почту!
Удаление формул из ячеек таблицы Excel
Функциональные возможности программы Excel позволяют не только структурировать и работать с большими объемами данных, но и производить различные расчеты. Зачастую после того, как получен результат, рассчитанный по формуле, в ней больше нет необходимости, и в ячейке требуется оставить именно само значение. Более того, в некоторых случаях наличие формулы будет только мешать в последующей работе. Например, если попробовать перенести или скопировать данные из ячейки с формулой в другое место таблицы, результат вычислений будет утерян или изменится, т.к. при выполнении данной процедуры будут изменены ссылки на ячейки, указанные в формуле, за исключением тех случаев, когда вместо относительные ссылок (по умолчанию) использовались абсолютные.
В связи с этим, ниже мы рассмотрим, как удаляются формулы из ячеек таблицы Эксель с сохранением полученных в них результатов.
Удаление формул
Специального инструмента, который бы помог выполнить данную процедуру, в Эксель нет. Однако решить этот вопрос можно, причем разными методами.
Метод 1: копируем значения с помощью параметров вставки
Пожалуй, это самый простой способ, пользуясь которым можно скопировать содержимое ячеек и вставить в другое место без формул. Вот, что мы делаем:
- Для начала с помощью зажатой левой кнопки мыши нужно выделить область ячеек, которую мы хотим скопировать.
- Правой кнопкой мыши щелкаем по любой точке выделенного диапазона и в открывшемся контекстном меню выбираем пункт “Копировать”. Также, можно вместо этого действия можно просто нажать сочетание клавиш Ctrl+C (после того, как выполнено выделение).
Для копирования данных можно также воспользоваться кнопкой “Копировать”, которая расположена на лента программы во вкладке “Главная”.
- Переходим в ячейку, начиная с которой мы хотим вставить скопированные данные (эта ячейка станет самой верхней левой точкой диапазона данных, который мы будем вставлять из буфера обмена). Затем правой кнопкой мыши щелкаем по выбранному элементу, в появившемся меню в группе “Параметры вставки” кликаем по варианту “Значения” (значок в виде цифр “123”).
Метод 2: используем специальную вставку
Если требуется скопировать-вставить данные с сохранение первоначального вида (форматирования) ячеек, можно воспользоваться “Специальной вставкой”.
- Выделяем и копируем требуемый диапазон данных. На этот раз давайте отметим всю таблицу, а для копирования используем кнопку на ленте инструментов.
Метод 3: удаляем формулы в исходной таблице
Теперь давайте перейдем к удалению формул непосредственно в ячейках исходной таблицы.
- Копируем нужный диапазон ячеек любым удобным способом, например, воспользовавшись контекстным меню.
- Как и в ранее рассмотренном методе, вставляем скопированную область в новое место с сохранением исходного форматирования. После этого, не снимая выделение, копируем только что вставленные данные, например, нажав комбинацию клавиш Ctrl+C (или любым другим удобным способом).
- Переходим в самую верхнюю левую ячейку исходной таблицы (или выделяем в ней тот диапазон ячеек, который был скопирован в 1 шаге), кликом правой кнопки мыши вызываем меню, в котором выбираем вставку “Значений”.
- Теперь, когда содержимое ячеек без формул скопировано в исходное место на листе, удаляем созданные дубликаты. Для этого, выделяем нужный диапазон данных, щелкаем по нему правой кнопкой мыши и в раскрывшемся меню выбираем пункт “Удалить”.
- Появится окно удаления ячеек. Выбираем то, что нужно удалить. Исходя из нашего примера, ставим отметку напротив пункта “строку”, после чего жмем кнопку OK.
Также, так как справа от выделенного диапазона нет заполненных ячеек, можно выбрать вариант – “ячейки, со сдвигом влево”.
- Задублированный диапазон данных удален. На этом работа по замене формул на конкретные значения в исходной таблице завершена.
Метод 4: удаляем формулы без копирования в другое место
Что делать, если не хочется дублировать таблицу в другом месте листа для ее последующего переноса в исходное с конкретными значениями? Такая возможность в Эксель также предусмотрена, однако, требует большой концентрации внимания, так как все действия мы будем выполнять непосредственно в самой таблице, и из-за неверных шагов можно удалить или нарушить структурную целостность данных.
- Как обычно, сперва нужно выделить область ячеек, в которых нужно удалить формулы. Затем копируем данные любым удобным способом. Проще всего это сделать, нажав на кнопку “Копировать” на ленте программы (вкладка “Главная”).
- Теперь, оставляя скопированную область выделенной, щелкаем по ней правой кнопкой мыши и в появившемся меню в группе команд “Параметры вставки” кликаем по варианту “Значения”.
- В итоге, мы в том же самом месте таблицы в выделенных ячейках вместо формул вставим конкретные значения (результаты вычислений).
Метод 5: применяем макрос
Данный метод предполагает использование макросов. Однако, прежде чем приступать, непосредственно, к самой процедуре удаления формул, необходимо включить режим Разработчика, так как по умолчанию он в программе выключен. Для этого делаем следующее:
- Щелкаем по меню “Файл”.
- В открывшемся окне в боковом перечне слева в самом низу выбираем раздел “Параметры”.
- В параметрах программы переходим в подраздел “Настроить ленту”. В правой части окна ставим галочку напротив пункта “Разработчик”, после чего щелкаем OK.
Теперь все готово, чтобы выполнить поставленную задачу:
- Переключаемся во вкладку “Разработчик”, в которой щелкаем по кнопке “Visual Basic” (группа “Код”).
- Выбрав нужный лист книги нажимаем на кнопку “View Code” (или дважды щелкаем левой кнопкой мыши по выбранному листу), чтобы запустить редактор макросов, куда вставляем код ниже, после чего закрываем данное окно.
Sub Удаление_формул()
Selection.Value = Selection.Value
End Sub - Выделяем диапазон ячеек, содержащих формулы, и нажимаем кнопку “Макросы”, которая расположена во вкладке “Разработчик” (блок инструментов “Код”).
- В открывшемся окне выбора макросов отмечаем нужный и щелкаем по кнопке “Выполнить”.
- После того, как процедура будет выполнена, все формулы в выбранных ячейках будут заменены результатами расчетов по ним.
Метод 6: удаляем формулу вместе с результатом вычислений
В некоторых ситуациях перед пользователем встает задача – не только удалить формулы в ячейках, но и результаты вычислений по ним. Данная процедура довольно простая:
- Начинаем с того, что выделяем область ячеек, содержащих формулы. Кликом правой кнопки мыши по выделенному диапазону вызываем меню, в котором щелкаем по команде “Очистить содержимое”.
Также, вместо этого, после того, как нужные элементы отмечены, можно просто нажать клавишу Del (Delete) на клавиатуре.
- В итоге все данные в ячейках, в том числе, формулы будут стерты.
Заключение
Таким образом, в удалении ненужных формул из ячеек таблицы Эксель с сохранением результатов расчетов нет ничего сложного. Более того, программа позволяет выполнить эту процедуру различными способами, поэтому, каждый пользователь может выбрать для себя тот метод, который покажется наиболее удобным и эффективным.