Быстрое удаление пустых столбцов в Excel

Быстрое удаление пустых столбцов в Excel
На чтение
17 мин.
Просмотров
36
Дата обновления
06.11.2024

Быстро удалить пустые столбцы в Excel

В этом руководстве вы узнаете, как легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простого нажатия кнопки.

Как ни банально это может показаться, удаление пустых столбцов в Excel не может быть выполнено одним щелчком мыши. Это тоже нельзя сделать в два клика. Однако сделать это можно быстро и точно. Вам определенно следует избегать перспективы взглянуть на все столбцы на листе и вручную удалить пробелы. К счастью, Microsoft Excel предлагает множество различных функций, и, используя их творчески, вы можете выполнить свою работу!

Итак, как мы собираемся решить проблему удаления пустых столбцов?

Быстрый, но неправильный способ удалить пустые столбцы.

Когда дело доходит до удаления пробелов в таблице в Excel (будь то пустые ячейки, строки или столбцы), многие пользователи полагаются на команду «Найти и выбрать». Никогда не делайте этого на простынях!

Этот метод (Найти и выделить> Группа ячеек> Пробелы) находит и выбирает все пустые ячейки в диапазоне:

Если теперь щелкнуть правой кнопкой мыши выбранные ячейки и выбрать «Удалить»> «Весь столбец», все столбцы, содержащие хотя бы одну пустую ячейку, будут потеряны! Если вы сделали это случайно, нажмите Ctrl + Z, чтобы вернуть все на свои места.

Теперь, когда вы знаете неправильный способ удаления пустых столбцов в Excel, давайте посмотрим, как это сделать правильно.

Как удалить пустые столбцы в Excel с помощью VBA

Мощные пользователи Excel знают это практическое правило: чтобы не тратить часы на что-то вручную, потратьте несколько минут на написание макроса, который сделает это автоматически.

Приведенный ниже макрос VBA удалит все пустые столбцы в выбранном диапазоне. И делает это безопасно: удаляются только абсолютно пустые. Если столбец содержит значение хотя бы в одной ячейке, даже пустая строка («»), возвращаемая любой формулой, останется на листе.

Public Sub DeleteEmptyColumns () Dim SourceRange As Range Dim CompleteColumn As Range On Error Resume Next Set SourceRange = Application.InputBox (_ «Выбрать диапазон:», «Удалить пустые столбцы», _ Application.Selection.Address, Тип: = 8) Если нет (SourceRange — ничто), то Application.ScreenUpdating = False Для i = SourceRange.Columns.Count To 1 Шаг -1 Установите CompleteColumn = SourceRange.Cells (1, i) .EntireColumn Если Application.WorksheetFunction.CountA (CompleteColumn) = 0 Затем CompleteColumn.Delete End If Next Application.ScreenUpdating = True End If End Sub

Вы можете заменить сообщения на английском на русский в тексте макроса в шестой строке. Однако я рекомендую оставить все как есть, чтобы избежать проблем с отображением русских символов в VBA.

Как использовать макрос удаления пустых столбцов

Вот пошаговая инструкция по добавлению макроса в файл Excel:

  1. Нажмите Alt + F11, чтобы открыть редактор Visual Basic.
  2. В строке меню нажмите Вставить> Модуль).
  3. Вставьте приведенный выше код в появившееся окно. Щелкните значок диска и сохраните проект.
  4. Если окно модуля все еще открыто, нажмите F5, чтобы запустить макрос. Далее для вызова программы используйте комбинацию Alt + F8.
  5. Когда появится всплывающее диалоговое окно, перейдите к интересующему вас листу, выберите нужный диапазон и нажмите OK:

Пустые столбцы в выбранном диапазоне будут удалены:

Обратите внимание, однако, что столбец, у которого есть заголовок в заголовке, но больше не содержит никакой информации, не затрагивается. Эту особенность необходимо учитывать. Либо при запуске макроса выберите область, не включая заголовок таблицы.

Удаление пустых столбцов в Excel с помощью формул.

Вышеупомянутый макрос быстро и легко удаляет пустые столбцы. Но если вы относитесь к типу людей, которые «держат все под контролем» (например, я :), вы можете визуально посмотреть, какие из них будут удалены. В этом примере мы сначала определим пустые столбцы с помощью формулы, чтобы мы могли быстро их увидеть, а затем удалим все или некоторые из них.

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

После сохранения резервной копии в безопасном месте выполните следующие действия:

Шаг 1. Вставьте новую строку.

Добавьте новую строку вверху таблицы. Для этого щелкните правой кнопкой мыши заголовок первой строки и выберите «Вставить». Не беспокойтесь о нарушении структуры таблицы и расположения ваших данных — вы можете удалить их позже.

Шаг 2. Найдите пустые столбцы.

В самой левой ячейке только что добавленной строки введите следующую формулу:

= СЧЁТ (A2: A1048576) = 0

Затем скопируйте формулу построчно по мере необходимости, перетащив маркер заполнения вправо.

Логика формулы очень проста: COUNT проверяет количество пустых ячеек в столбце, от строки 2 до строки 1048576, что является максимальным количеством строк в Excel 2019-2007. Вы сравниваете это число с нулем, и результатом является ИСТИНА в пробелах и ЛОЖЬ, если есть хотя бы одна непустая ячейка. Используя относительные ссылки, формула правильно настраивается для каждого столбца, в который она копируется.

Если вы настраиваете лист для кого-то другого, вы можете пометить его более явным и понятным способом. Нет проблем, это легко сделать с помощью функции ЕСЛИ, примерно так:

= ЕСЛИ (СЧЁТ (A2: A1048576) = 0; «Пусто»; «Не пусто»)

Формула теперь явно указывает, какие столбцы пусты, а какие нет:

По сравнению с макросом этот метод предлагает большую гибкость в отношении того, какие столбцы следует считать пустыми. В этом примере мы проверяем всю таблицу, включая строку заголовка. Это означает, что если столбец содержит только заголовок, он не считается пустым и не удаляется. Если вы хотите проверить только строки данных, игнорируя заголовки, исключите строки заголовков из целевого диапазона. В результате это будет, например, A3: A1048576. Заголовок, имеющий заголовок, но не содержащий других данных, будет считаться пустым и, следовательно, должен быть удален. 

Кроме того, для быстрых вычислений вы можете ограничить диапазон последней фактически используемой строкой в ​​таблице, которой в нашем случае будет A11.

Шаг 3. Удалите пустые столбцы.

Теперь вы можете просто выбрать те столбцы, в которых в первой строке написано «Пусто» (чтобы выбрать несколько столбцов одновременно, удерживайте нажатой клавишу Ctrl, нажимая на их буквы). Затем щелкните правой кнопкой мыши один из выбранных столбцов и выберите в контекстном меню команду «Удалить:

Если на вашем листе десятки или сотни столбцов, имеет смысл отобразить все пустые. Для этого нужно сделать следующее:

  1. Выберите верхнюю строку формул, перейдите на вкладку «Данные»> группу «Сортировка и фильтр» и нажмите кнопку «Сортировка» .
  2. В появившемся окне с предупреждением выберите «Развернуть выделение» и нажмите «Заказать…».

  1. Появится диалоговое окно «Сортировка», в котором вы нажмете кнопку «Параметры…», выберите «Столбцы диапазона» и нажмите «ОК» .

  1. Настройте только один уровень сортировки, как показано ниже, и нажмите ОК:
    • Сортировать по: Строка 1
    • Сортировка: значения ячеек
    • Порядок: от А до Я

В результате пустые столбцы будут перемещены в правую часть рабочего листа, в конец таблицы:

Если вы выбрали порядок сортировки от Я до А, переместите их в левую часть листа в начало.

  1. Выделите все пустые столбцы в конце таблицы. Для этого щелкните первую букву, нажмите Shift, а затем нажмите последнюю букву.
  2. Щелкните выделение правой кнопкой мыши и выберите «Удалить» во всплывающем меню.

Выполнено! Вы избавились от пустых столбцов и теперь ничто не мешает вам удалить верхнюю строку с формулами.

Самый быстрый способ удалить пустые столбцы в Excel.

В начале этого руководства я написал, что в Excel не существует способа обработки пустых столбцов одним щелчком мыши. На самом деле это не так. Пришлось сказать, что в самом Excel таких стандартных функций нет. Пользователи дополнения Ultimate Suite могут удалить их практически автоматически, в пару кликов

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий