Skip to content
В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки.
Как бы банально это ни звучало, удаление пустых столбцов в Excel не может быть выполнено простым щелчком мыши. Это тоже нельзя сделать в два клика. Но всё же это можно сделать достаточно быстро и безошибочно. Перспективы просмотра всех колонок на листе и удаления незаполненных вручную – это определенно то, чего вам следует избегать. К счастью, Microsoft Excel предоставляет множество различных функций, и, используя их творчески, вы можете справиться практически с любой задачей!
Итак, как мы будем решать проблему удаления пустых столбцов?
- Способ 1 — быстрый, но неправильный.
- Способ 2 — макрос VBA.
- Способ 3 — используем формулы.
- Способ 4 — самый быстрый, одной кнопкой.
- Почему не удаляются пустые столбцы?
Быстрый, но неправильный способ удалить пустые столбцы.
Когда дело доходит до удаления пустот в таблице в Excel (будь то пустые ячейки, строки или столбцы), многие пользователи полагаются на команду Найти и выделить. Никогда не делайте этого на своих листах!
Этот метод ( Найти и выделить > Группу ячеек > Пустые ) находит и выбирает все пустые ячейки в диапазоне:
Если теперь щелкнуть выделенные ячейки правой кнопкой мыши и выбрать «Удалить» > « Весь столбец», то все колонки, содержащие хотя бы одну пустую ячейку, будут потеряны! Если вы сделали это случайно, нажмите Ctrl + Z
, чтобы вернуть все на место.
Теперь, когда вы знаете неправильный способ удаления пустых столбцов в Excel, давайте посмотрим, как это сделать правильно.
Как удалить пустые столбцы в Excel с помощью VBA
Опытные пользователи Excel знают это практическое правило: чтобы не тратить часы на что-то вручную, потратьте несколько минут на написание макроса, который сделает это за вас автоматически.
Приведенный ниже макрос VBA удаляет все пустые столбцы в выбранном диапазоне. И делает это безопасно — удаляются только абсолютно пустые. Если столбец содержит значение хотя бы в одной ячейке, пусть даже пустую строку (“”), возвращаемую какой-либо формулой, то он останется на листе.
Public Sub DeleteEmptyColumns()
Dim SourceRange As Range
Dim EntireColumn As Range
On Error Resume Next
Set SourceRange = Application.InputBox( _
"Select a range:", "Delete Empty Columns", _
Application.Selection.Address, Type:=8)
If Not (SourceRange Is Nothing) Then
Application.ScreenUpdating = False
For i = SourceRange.Columns.Count To 1 Step -1
Set EntireColumn = SourceRange.Cells(1, i).EntireColumn
If Application.WorksheetFunction.CountA(EntireColumn) = 0 Then
EntireColumn.Delete
End If
Next
Application.ScreenUpdating = True
End If
End Sub
Вы можете в тексте макроса в шестой строке заменить сообщения на английском языке русскими. Однако, рекомендую оставить как есть во избежание проблем с отображением русских шрифтов в VBA.
Как использовать макрос удаления пустых столбцов
Вот пошаговая инструкция, чтобы добавить макрос в ваш файл Excel:
- Нажмите
Alt + F11
, чтобы открыть редактор Visual Basic. - В строке меню щелкните Вставить > Модуль (Insert > Module).
- Вставьте приведенный выше код в появившееся окно. Нажмите иконку дискеты и сохраните проект.
- Если окно модуля еще открыто, то нажмите F5 для запуска макроса. В последующем для вызова программы используйте комбинацию Alt+F8.
- Когда появится всплывающее диалоговое окно, переключитесь на интересующий рабочий лист, выберите нужный диапазон и нажмите OK:
Пустые колонки в выбранном диапазоне будут удалены:
Однако, обратите внимание, что колонка, в которой есть название в шапке, но больше нет никакой информации, осталась нетронутой. Эту особенность нужно учитывать. Либо выбирайте при запуске макроса область, не включая в нее шапку таблицы.
Удаление пустых столбцов в Excel с помощью формул.
Вышеупомянутый макрос быстро и просто удаляет пустые столбцы. Но если вы относитесь к тому типу людей, которые «держит все под контролем» (как и я :), вы можете захотеть визуально увидеть те их них, которые будут удалены. В этом примере мы сначала определим пустые столбцы с помощью формулы, чтобы вы могли быстро их просмотреть, а затем удалим все или некоторые из них.
Примечание. Прежде чем удалять что-либо навсегда, особенно с помощью неопробованного вами метода, я настоятельно рекомендую вам сделать резервную копию своей книги, на всякий случай, если что-то пойдет не так.
Сохранив резервную копию в надежном месте, выполните следующие действия:
Шаг 1. Вставьте новую строку.
Добавьте новую строку вверху таблицы. Для этого щелкните правой кнопкой мыши заголовок первой строки и выберите Вставить. Не беспокойтесь о нарушении структуры таблицы и расположения ваших данных — вы сможете удалить её позже.
Шаг 2. Найдите пустые столбцы.
В самой левой ячейке только что добавленной строки введите следующую формулу:
=СЧЁТЗ(A2:A1048576)=0
Затем скопируйте формулу по строке на сколько это необходимо, перетащив маркер заполнения вправо.
Логика формулы очень проста: СЧЁТЗ проверяет количество пустых ячеек в столбце, от строки 2 до строки 1048576, что является максимумом числа строк в Excel 2019–2007. Вы сравниваете это число с нулем и в результате получаете ИСТИНА в пустых и ЛОЖЬ там, где имеется хотя бы одна непустая ячейка. Благодаря использованию относительных ссылок формула правильно настраивается для каждого столбца, в который она скопирована.
Если вы настраиваете лист для кого-то другого, вы можете пометить их более явным и понятным образом. Нет проблем, это легко сделать с помощью функции ЕСЛИ, примерно так:
=ЕСЛИ(СЧЁТЗ(A2:A1048576)=0;»Пусто»;»Не пусто»)
Теперь формула явным образом указывает, какие колонки пусты, а какие нет:
По сравнению с макросом этот метод дает больше гибкости в отношении того, какие колонки следует считать пустыми. В этом примере мы проверяем всю таблицу, включая строку заголовка. Это означает, что если столбец содержит только заголовок, то он не считается пустым и не удаляется. Если вы хотите проверять только строки данных, игнорируя заголовки, исключите строку (строки) заголовка из целевого диапазона. В результате он будет, к примеру, A3: A1048576. Имеющий заголовок, но не содержащий других данных, будет считаться пустым и посему подлежит удалению.
Кроме того, для быстроты расчетов вы можете ограничить диапазон до последней реально использованной в вашей таблице строки, которой в нашем случае будет A11.
Шаг 3. Удалите пустые столбцы.
Теперь вы можете просто выбрать те колонки, у которых в первой строке записано «Пусто» (чтобы выбрать сразу несколько, удерживайте Ctrl , нажимая на их буквы). Затем щелкните правой кнопкой мыши на любом из выделенных столбцов и укажите команду «Удалить» в контекстном меню:
Если на вашем листе десятки или сотни колонок, имеет смысл вывести на просмотр все пустые. Для этого сделайте следующее:
- Выберите верхнюю строку с формулами, перейдите на вкладку «Данные» > группу « Сортировка и фильтр » и нажмите кнопку «Сортировка» .
- В появившемся диалоговом окне с предупреждением выберите «Развернуть выделение» и нажмите «Сортировать…».
- Откроется диалоговое окно «Сортировка», в котором вы нажмете кнопку «Параметры…», выберите «столбцы диапазона» и нажмите «ОК» .
- Настройте только один уровень сортировки, как показано ниже, и нажмите ОК:
- Сортировать по: Строка 1
- Сортировка: значения ячеек
- Порядок: от А до Я
В результате пустые колонки будут перемещены в правую часть вашего рабочего листа, в конец таблицы:
Если вы выберете порядок сортировки от Я до А, то переместите их в левую чсть вашего листа, в начало.
- Выберите все пустые столбцы в конце таблицы. Для этого щелкните букву первого из них, нажмите Shift, а затем кликните на букву последнего.
- Щелкните правой кнопкой мыши на выделенном и выберите пункт «Удалить» во всплывающем меню.
Выполнено! Вы избавились от пустых столбцов, и теперь нет ничего, что могло бы помешать вам удалить верхнюю строку с формулами.
Самый быстрый способ удалить пустые столбцы в Excel.
В начале этого руководства я написал, что в Excel нет способа расправиться с пустыми столбцами одним щелчком мыши. На самом деле это не совсем так. Я должен был сказать, что нет таких стандартных возможностей в самом Excel. Пользователи надстройки Ultimate Suite могут удалить их почти автоматически, буквально за пару кликов
На вашем листе переключитесь на вкладку AblebitsTools, нажмите Delete Blanks и выберите Пустые столбцы (Empty Columns):
Чтобы убедиться, что это не случайный щелчок мыши, программа попросит вас подтвердить, что вы действительно хотите убрать пустые столбцы с этого рабочего листа:
Нажмите ОК, и через мгновение все незаполненные колонки исчезнут!
Как и описанный выше макрос, этот инструмент удаляет только те столбцы, которые абсолютно пусты. Колонки с одним значением, включая заголовки, сохраняются.
Более подробно об инструменте удаления пустых строк, столбцов и ячеек вы можете прочитать здесь.
Удаление пробелов – это лишь одна из десятков замечательных функций, которые могут облегчить вам жизнь пользователя Excel. Чтобы узнать больше, вы можете загрузить пробную версию невероятно функциональной программы Ultimate Suite for Excel.
Пустые столбцы не удаляются! Почему?
Проблема : вы испробовали все вышеперечисленные методы, но на вашем листе застряли одна или несколько пустых колонок. Почему?
Скорее всего, потому, что они на самом деле не пусты. Различные символы, невидимые глазу, могут незаметно скрываться в ваших таблицах Excel, особенно если вы импортировали информацию из внешнего источника. Это может быть просто пробел, неразрывный пробел или другой непечатаемый символ. Это также может быть формула, которая возвращает пустое значение.
Чтобы определить виновника, выберите первую ячейку в проблемном месте и нажмите Ctrl + стрелка вниз. И вы сразу же переместитесь к первой непустой ячейке. Например, столбец B на скриншоте ниже не является пустым из-за символа пробела в B6:
Дважды щелкните ячейку, чтобы перейти в режим редактирования и увидеть, что на самом деле находится в ней. Или просто нажмите клавишу Delete, чтобы избавиться от чего-то неизвестного и невидимого.
А затем повторите описанный выше процесс, чтобы узнать, есть ли ниже ещё какие-либо другие невидимые объекты. Вы также можете очистить свои данные, удалив начальные, конечные и неразрывные пробелы.
Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге снова!
Deleting blank columns and rows is a tedious task when you are working with a large set of data. And manual deletion is not even an option. In this article, you’ll learn to delete the blank columns in excel in some simple steps using Excel built-in tool named Go To Special. It is a quick and easy way to remove the blank columns. While this makes it a simple alternative to implement, be aware that it may cause your document to become misaligned. Always save a backup copy of your document before you start deleting cells to be safe.
There are two ways to delete the blank columns in excel:
- Manual selection and deletion
- Deleting columns using Go To in-built tool from excel
Note: The tutorial is for Microsoft Excel 2013. You may find the same or different steps in other Microsoft Excel versions.
Deleting blank columns in Excel using manual selection and deletion
We can delete blank columns in Excel using manual selection and deletion. This method works with all types of data but it is time taking, here I would suggest to use this method only when your data is less. If you have a large number of columns to delete then move on to the second method. Now we understand this method with the help of an example. So consider the example
Step 1: Select the blank columns, to select the blank columns press Shift and press the down arrow to the row upto you want to select the column.
Step 2: Then right-click on the selected column. A drop-down will appear (as shown below). Select the Delete button. The selected column will be deleted.
Repeat the same steps for all the blank columns left in the required worksheet and delete them.
Deleting blank columns in Excel using Go To
We can also be deleting blank columns in MS Excel using Go To. So follow the following steps:
Step 1: Open the required Excel where you want to delete the blank columns.
Step 2: Select all the data by selecting the required rows and columns and press F5 from the keyboard. A dialogue box will appear(as shown below) and select Special. The special feature allows users to select all that has matching criteria as selected such as blanks, numbers, formulas.
Step 3: After selecting special, a window (as shown below) will appear. Click on Blanks (as shown) and then select OK. This operation will select all the blank columns from the selected data.
Step 4: Then go to the Home tab>Cells Group>Delete i.e go to the Home tab and in the Cells group click on Delete(as shown below). The delete will help to delete the selected row, column, cell, and entire sheet.
Step 5: After selecting Delete a drop-down will appear (as shown in the image). Select Delete Cells.
Step 6: After selecting Delete Cells, a pop-up window will appear(as shown below). Select Shift cells left. This option will shift all the leftover cells left after deleting the blank columns. Click OK.
All the blank columns from the selected range will be deleted.
Удаление пустых строк и столбцов в данных
Пустые строки и столбцы могут быть головной болью в таблицах во многих случаях. Стандартные функции сортировки, фильтрации, подведения итогов, создания сводных таблиц и т.д. воспринимают пустые строки и столбцы как разрыв таблицы, не подхватывая данные, расположенные за ними далее. Если таких разрывов много, то удалять их вручную может оказаться весьма затратно, а удалить сразу всех «оптом», используя фильтрацию не получится, т.к. фильтр тоже будет «спотыкаться» на разрывах.
Давайте рассмотрим несколько способов решения этой задачи.
Способ 1. Поиск пустых ячеек
Это, может, и не самый удобный, но точно самый простой способ вполне достойный упоминания.
Предположим, что мы имеем дело вот с такой таблицей, содержащей внутри множество пустых строк и столбцов (для наглядности выделены цветом):
Допустим, мы уверены, что в первом столбце нашей таблицы (колонка B) всегда обязательно присутствует название какого-либо города. Тогда пустые ячейки в этой колонке будут признаком ненужных пустых строк. Чтобы быстро их все удалить делаем следующее:
- Выделяем диапазон с городами (B2:B26)
- Нажимаем клавишу F5 и затем кнопку Выделить (Go to Special) или выбираем на вкладке Главная — Найти и выделить — Выделить группу ячеек (Home — Find&Select — Go to special).
- В открывшемся окне выбираем опцию Пустые ячейки (Blanks) и жмём ОК – должны выделиться все пустые ячейки в первом столбце нашей таблицы.
- Теперь выбираем на вкладке Главная команду Удалить — Удалить строки с листа (Delete — Delete rows) или жмём сочетание клавиш Ctrl+минус — и наша задача решена.
Само-собой, от пустых столбцов можно избавиться совершенно аналогично, взяв за основу шапку таблицы.
Способ 2. Поиск незаполненных строк
Как вы, возможно, уже сообразили, предыдущий способ сработает только в том случае, если в наших данных обязательно присутствую полностью заполненные строки и столбцы, за которые можно зацепиться при поиске пустых ячеек. Но что, если такой уверенности нет, и в данных могут содержаться и пустые ячейки в том числе?
Взгляните, например, на следующую таблицу — как раз такой случай:
Здесь подход будет чуть похитрее:
-
Введём в ячейку A2 функцию СЧЁТЗ (COUNTA), которая вычислит количество заполненных ячеек в строке правее и скопируем эту формулу вниз на всю таблицу:
- Выделим ячейку А2 и включим фильтр командой Данные — Фильтр (Data — Filter) или сочетанием клавиш Ctrl+Shift+L.
- Отфильтруем по вычисленному столбцу нули, т.е. все строки, где нет данных.
- Осталось выделить отфильтрованные строки и удалить их командой Главная — Удалить - Удалить строки с листа (Home — Delete — Delete rows) или сочетанием клавиш Ctrl+минус.
- Отключаем фильтр и получаем наши данные без пустых строк.
К сожалению, со столбцами такой трюк уже не проделать – фильтровать по столбцам Excel пока не научился.
Способ 3. Макрос удаления всех пустых строк и столбцов на листе
Для автоматизации подобной задачи можно использовать и простой макрос. Нажмите сочетание клавиш Alt+F11 или выберите на вкладке Разработчик — Visual Basic (Developer — Visual Basic Editor). Если вкладки Разработчик не видно, то можно включить ее через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon).
В открывшемся окне редактора Visual Basic выберите команду меню Insert — Module и в появившийся пустой модуль скопируйте и вставьте следующие строки:
Sub DeleteEmpty() Dim r As Long, rng As Range 'удаляем пустые строки For r = 1 To ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count If Application.CountA(Rows(r)) = 0 Then If rng Is Nothing Then Set rng = Rows(r) Else Set rng = Union(rng, Rows(r)) End If Next r If Not rng Is Nothing Then rng.Delete 'удаляем пустые столбцы Set rng = Nothing For r = 1 To ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count If Application.CountA(Columns(r)) = 0 Then If rng Is Nothing Then Set rng = Columns(r) Else Set rng = Union(rng, Columns(r)) End If Next r If Not rng Is Nothing Then rng.Delete End Sub
Закройте редактор и вернитесь в Excel.
Теперь нажмите сочетание Alt+F8 или кнопку Макросы на вкладке Разработчик. В открывшемся окне будут перечислены все доступные вам в данный момент для запуска макросы, в том числе только что созданный макрос DeleteEmpty. Выберите его и нажмите кнопку Выполнить (Run) — все пустые строки и столбцы на листе будут мгновенно удалены.
Способ 4. Запрос Power Query
Ещё один способ решить нашу задачу и весьма частый сценарий — это удаление пустых строк и столбцов в Power Query.
Сначала давайте загрузим нашу таблицу в редактор запросов Power Query. Можно конвертировать её в динамическую «умную» сочетанием клавиш Ctrl+T или же просто выделить наш диапазон данных и дать ему имя (например Данные) в строке формул, преобразовав в именованный:
Теперь используем команду Данные — Получить данные — Из таблицы/диапазона (Data — Get Data — From table/range) и грузим всё в Power Query:
Дальше всё просто:
- Удаляем пустые строки командой Главная — Сократить строки — Удалить строки — Удалить пустые строки (Home — Remove Rows — Remove empty rows).
- Щёлкаем правой кнопкой мыши по заголовку первого столбца Город и выбираем в контекстном меню команду Отменить свёртывание других столбцов (Unpivot Other Columns). Наша таблица будет, как это технически правильно называется, нормализована — преобразована в три столбца: город, месяц и значение с пересечения города и месяца из исходной таблицы. Особенность этой операции в Power Query в том, что она пропускает в исходных данных пустые ячейки, что нам и требуется:
- Теперь выполяем обратную операцию — сворачиваем полученную таблицу обратно в двумерную, чтобы вернуть ей исходный вид. Выделяем столбец с месяцами и на вкладке Преобразование выбираем команду Столбец сведения (Transform — Pivot Column). В открывшемся окне в качестве столбца значений выбираем последний (Значение), а в расширенных параметрах — операцию Не агрегировать (Don’t aggregate):
- Останется выгрузить результат обратно в Excel командой Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close&Load — Close&Load to…)
Ссылки по теме
- Что такое макрос, как он работает, куда копировать текст макроса, как запустить макрос?
- Заполнение всех пустых ячеек в списке значениями вышестоящих ячеек
- Удаление всех пустых ячеек из заданного диапазона
- Удаление всех пустых строк на листе с помощью надстройки PLEX
Удаление пустых ячеек в Microsoft Excel
Смотрите также не работает?If arr1(i, 2) maxCln) равно остается медленной?Nic70y’ переносим ячейки,на вкладке нее такую страшноватуюНажимаем «Ок». У в формулах. Если
самого простого случаяредактор запросов
Алгоритмы удаления
с выделением групп и в предыдущий«OK»«OK»При выполнении задач вВариант, предложенный вам > arr1(i +dC = 0 Тогда единственный вариант, у меня 3000 анализируя содержимоеФормулы (Formulas) формулу:
- нас в таблице произвести их удаление, можно использовать и
- , не загружая и ячеек наиболее простой раз, присваиваем любое..
приложении Excel можетAndreTM 1, 2) Then ‘ delta Colunm — считать все строк и под’ работаем св новых версиях=ЕСЛИ(СТРОКА()-СТРОКА(НетПустых)+1>ЧСТРОК(ЕстьПустые)-СЧИТАТЬПУСТОТЫ(ЕстьПустые);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(ЕстьПустые<>»»;СТРОКА(ЕстьПустые);СТРОКА()+ЧСТРОК(ЕстьПустые)));СТРОКА()-СТРОКА(НетПустых)+1);СТОЛБЕЦ(ЕстьПустые);4))) будут видны только
Способ 1: выделение групп ячеек
формула потом не ее. не изменяя существующий и быстрый. Но
- наименование данной области.В любом из указанныхПосле этих манипуляций все наступить необходимость удалить, прекрасно работает.k = i если выводить не данные в массив 200 столбцов. Медленно
- выделенной областью Excel. В категорииВ английской версии это пустые строки. Их сработает, а самаЕсть еще несколько методов запрос в книге,
- ситуации бывают разные. Мы решили дать в предыдущем пункте пустые элементы внутри пустые ячейки. ОниВы это пробовали?fOut = 0 в А1 и провести преобразования
- удаляет. Эксель виснет.If Selection.Count =Определенные пользователем (User Defined) будет: видно по столбцу программа выдаст ошибку для проведения таких в разделе Поэтому, как дополнительные ей название
- вариантов пустые элементы указанного диапазона будут зачастую являются ненужным Должно работать достаточноbuff1 = arr1(i,dR = 0 уже с ним… Попробую на ночь 1 Then Exit
выберите нашу функцию=IF(ROW()-ROW(НетПустых)+1>ROWS(ЕстьПустые)-COUNTBLANK(ЕстьПустые),»»,INDIRECT(ADDRESS(SMALL((IF(ЕстьПустые<>»»,ROW(ЕстьПустые),ROW()+ROWS(ЕстьПустые))),ROW()-ROW(НетПустых)+1),COLUMN(ЕстьПустые),4))) адресов строк. Можно о присутствии в
Способ 2: условное форматирование и фильтрация
операций. Одним изПолучение внешних данных способы, можно использовать«Без_пустых» будут скрыты. Выделяем удалены. элементом и только быстро (приемлимо быстро). 1) ‘ delta RowKSV оставить. SubNoBlanksПричем ввести ее надо подкрасить последнюю пустую
- вычислениях ссылки на решений вопроса того,на вкладке ленты варианты с фильтрованием. диапазон оставшихся ячеек.Удалить пустые ячейки можно увеличивают общий массивМожно еще наarr1(i, 1) =If SheetCheck(lName) =:_Boroda_For Each col. как формулу массива, ячеку, чтобы виднее
- несуществующие или некорректные как удалить пустыеPower Query и применением комплекснойВыделяем двойным щелчком левой На вкладке также путем применения данных, чем запутывают время сортировки временно arr1(i + 1, 0 Then Sheets.Add.Name
- regnus: Не уверен, но In Selection.ColumnsВ качестве аргумента функции т.е. после вставки было, сколько пустых данные. Поэтому в строки в «Экселе»,выберите формулы. кнопки мышки первую«Главная» условного форматирования и пользователя. Определим способы, отключать обновление экрана 1) = lName, я не стал
- в качестве предположенияSet cellTo = укажите исходный диапазон нажать не строк. Выделяем пустые такой ситуации следует может стать применениеИз других источников >Автор: Максим Тютюшев ячейку условного диапазонав блоке настроек последующей фильтрации данных. какими можно быстро и авторасчет формул
arr1(i + 1,Application.StatusBar = «Идёт делать «Нужно2», т.к. — возможно, код Nothing с пустотами (B3:B10)Enter строки и удаляем быть особо внимательным, инструмента сортировки.
- Пустой запросПримечание:«Без_пустых»«Буфер обмена» Этот метод сложнее удалить пустые элементы. (если их у 1) = buff1 считывание и сортировка судя по коду будет работать быстрее,For Each cell и нажмите
- (как обычно), а функцией «Удалить строку». чтобы не нарушитьДля этого нужно после. В видео показанНадстройка(у вас онвыполняем щелчок по предыдущего, но, темСкачать последнюю версию вас много)
- buff1 = arr1(i, данных…» (не проверял), процедура если удалять пустые In col.CellsCtrl+Shift+EnterCtrl+Shift+Enter Теперь фильтром возвращаем целостность математических или выделения всей таблицы один из способовPower Query может назваться и кнопке не менее, некоторые
Excel200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub testColumns00()
2)Application.ScreenUpdating = FalsetestColumns00()
Способ 3: применение сложной формулы
не сверху вниз,If Not IsEmpty(cell), чтобы ввести функцию. Теперь формулу можно все заполненные строки
- других операций. В (Ctrl + A) отображенияпредлагается в Excel 2016 по-другому). Вставляем в«Копировать» пользователи предпочитают именноПрежде всего, нужно разобраться,Dim c Asarr1(i, 2) =
- With Sheets(lNmBasa)от как по умолчанию Then как формулу массива. скопировать вниз, используя в таблице. остальном же все в разделе данныхредактора запросов в виде группы неё формулу следующего. его. Кроме того, а действительно ли Range arr1(i + 1,
- For j =AndreTM Excel делает, аIf Not cellToregnus автозаполнение (потянуть заТретий вариант. просто. В зависимости выбрать меню сортировки. команд
- типа:Затем выделяем любую пустую нужно сразу оговориться, можно в конкретномApplication.ScreenUpdating = False’ 2) 1 To maxClnдолжна сортировать быстро.
- насильно прописать удаление Is Nothing Then: Как удалить пустые черный крестик вКак удалить пустые от того, какой и фильтра. ТутВсем пользователям, которые работаютСкачать и преобразовать
=ЕСЛИ(СТРОКА()-СТРОКА(Без_пустых)+1>ЧСТРОК(С_пустыми)-СЧИТАТЬПУСТОТЫ(С_пустыми);"";ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(С_пустыми "";СТРОКА(С_пустыми);СТРОКА()+ЧСТРОК(С_пустыми)));СТРОКА()-СТРОКА(Без_пустых)+1);СТОЛБЕЦ(С_пустыми);4)))
область на том что этот способ массиве или таблице откл. обновление экранаarr1(i + 1,k = 0Единственное, ее можно по циклу снизуcell.Copy cellTo ячейки в столбцах
- правом нижнем углу ячейки формулой, смотрите результат должен быть применяется команда упорядочивания с электронными таблицами. Информация в этойТак как это формула же или на подходит только в удалять пустые ячейки?ActiveSheet.EnableCalculation = False’ 2) = buff1For i = чуть дописать, если вверх.cell.ClearContents сразу в 100 ячейки) — и в статье «Как получен, можно применять
- от минимального к в офисном редакторе статье относится и массива, то для другом листе. Выполняем том случае, если Указанная процедура приводит откл. авторасчет формулEnd If 1 To maxRow у вас выделенныйRichmanSet cellTo = столбцах? мы получим исходный удалить пустые ячейки ту или иную максимальному (пустые строки Excel, очень часто к Power Query,
- выведения расчета на щелчок правой кнопкой значения находятся в к смещению данных,’ работаем сNext iIf .Cells(i, j) диапазон начинается с: Формулами и доп
- cellTo.Offset(1)1. Нужно все диапазон, но без в Excel». методику. окажутся снизу). После приходится убирать пустые и к новой
экран нужно нажать мыши. В появившемся одном столбце и
а это далеко выделенной областьюIf fOut Then <> «» Then первой строки на строками нужно?End If данные (не пустые пустых ячеек:Если появилась необходимость,Автор: Панькова Оксана Владимировна этого их можно
ячейки, находящиеся в
lumpics.ru
Удаление столбцов (Power Query)
группе. Дополнительные сведения комбинацию клавиш контекстном списке действий не содержат формулы. не всегда является’ сначала выполняем Exit Dok = k + 1 листе, или чтобынужно1Else ячейки) вывести кЕсли есть подозрение, что вставить в заполненнуюКак убрать пустые
удалить. Если порядок строках, чтобы они см. в статье
Удаление столбцов
Ctrl+Shift+Enter в параметрах вставки
-
Выделяем диапазон, который собираемся допустимым. По сути, «сжатие» по строкамRBdr = karr2(k, j) = не затереть строку200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС(Лист2!B$1:B$9;НАИМЕНЬШИЙ(ЕСЛИ(Лист2!B$2:B$9<>»»;СТРОКА(Лист2!B$2:B$9);100000);СТРОКА(1:1)));»»)If cellTo Is верху листа, чтобы
-
вам часто придется таблицу пустые строки строки в Excel построения данных важен, не загромождали рабочее Функция «Скачать и, вместо обычного нажатия выбираем пункт обрабатывать. Находясь во элементы можно удалятьIf Selection.Count =fOut = 1 .Cells(i, j)
перед выделенным диапазоном.потом копировать——Правая кнопка
-
Nothing Then понимать длину не повторять процедуру удаления через определенный промежуток,, как удалить отфильтрованные сначала необходимо использовать пространство. Сейчас будет преобразовать» в Excel 2016. кнопки
-
«Значения» вкладке
-
только в двух 1 Then ExitFor i =End If200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub testColumns00() ——специальная вставка—-значенияSet cellTo = пустых ячеек каждого пустых ячеек из то смотрите статью
строки в Excel вставку пустого столбца рассмотрено, как вЕсли запрос содержит ненужныеEnter.«Главная» случаях: Sub RBdr To LBdrNext iDim c AsKSV cell столбца. диапазонов, то лучше «Вставить пустые строки, поможет функция «Сортировка со сквозной нумерацией. таблице «Эксель» удалить столбцы, их можно.Как видим, произошла вставка, жмем на пиктограммуЕсли строка (столбец) полностьюPackByRows + 1 StepDoEvents Range: Странно…End If
support.office.com
Как удалить пустые строки в «Экселе»: несколько простых методов
2. Нужно подровнять один раз добавить в Excel через и фильтр в После удаления строк пустые строки. Некоторые удалить.Но, как видим, заполнилась данных без сохранения«Условное форматирование» является пустой (вWith Selection -1arrK(j, 1) =’ работаем с600 тыс. ячеекEnd If
Как удалить пустые строки в «Экселе» двумя простейшими методами?
столбцы по длине в стандартный набор одну». Excel» и немного снова производите упорядочивание решения пригодятся иС помощью ленты только одна ячейка. форматирования. Теперь можно, которая, в свою таблицах);.Rows(1).InsertIf arr1(i, 2) j выделенной областью для Excel этоNext
(слева-направо) свою функцию дляВ Excel можно хитрости помогут быстро по пронумерованному столбцу. в других ситуациях.редактора запросов Для того, чтобы удалить первичный диапазон, очередь, располагается вЕсли ячейки в строкеFor Each c < arr1(i -arrK(j, 2) =’ сначала выполняем не тот объем,NextЕсть и пустые удаления пустых ячеек, настроить так, что
удалить лишние пустыеРешить вопрос того, как Например, при аналогичныхВыберите столбец, который вы заполнились и остальные, а на его блоке инструментов и столбце логически In .Columns 1, 2) Then k «сжатие» по строкам чтобы виснуть. (если,End Sub столбцы. и пользоваться ей вместо цифр, например, строки в огромной удалить пустые строки действиях со столбцами хотите удалить. Чтобы нужно скопировать формулу место вставить тот,
Как в «Экселе» удалить пустые строки с помощью сортировки?
«Стили» не связаны другc.Cells(0) = WorksheetFunction.CountA(c)k = iNext jIf Selection.Count = конечно, у васSub testColumns00()
Есть: во всех последующих отрицательных, будут писаться таблице. в «Экселе», можно или отдельными ячейками. выделить несколько столбцов, на оставшуюся часть который мы получили. Переходим в пункт с другом (вNextfOut = 0Call sortArr(arrK) 1 Then Exit не пентиум III’ работаем с111 222 4 случаях.
Удаление строк с использованием фильтра
нули. Читайте статьюЧасто, в большой и при помощиДля начала стоит сказать, щелкните их, удерживая диапазона. Это можно в ходе вышеописанной открывшегося списка массивах).Set c =buff1 = arr1(i,
For i = Sub) выделенной областью333 44 55Для этого откройте редактор «Как заменить в таблице после копирования простого фильтра. Устанавливают что при проведении нажатой клавишу
Выделение групп ячеек
сделать с помощью процедуры, а можно«Правила выделения ячеек»Если пустых ячеек мало, .Offset(-1).Resize(.Rows.Count + 1) 1) 1 To maxClnPackByRowsПопробуйте так (должно
’ сначала выполняем11 555 Visual Basic ( Excel отрицательное число или корректировки, появляется его путем выделения операций такого родаCTRL маркера заполнения. Устанавливаем продолжать работу с. В появившемся списке то их вполнеWith .Parent.Sortarr1(i, 1) =For j =
Вместо послесловия
With Selection работать оч. быстро «сжатие» по строкам111 22 444ALT+F11 на ноль». много не нужных столбца, группы столбцов нужно быть крайнеили курсор в нижний данными на новом действий выбираем позицию можно удалить сWith .SortFields arr1(i — 1, 1 To maxRow.Rows(1).Insert на любом кол-ве)If Selection.Count =55), вставьте новый пустойИмеем диапазон ячеек с пустых строк. Удалять или всей таблицы. внимательным. Дело вSHIFT правый угол ячейки, месте. Тут все«Больше…» помощью обычного ручного.Clear 1)arrOut(j, maxCln +For Each c
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub PackByRows() ‘ реализация
fb.ru
Как удалить пустые строки в Excel.
1 Then Exit11 44 модуль (меню данными, в котором по одной строке Кроме того, применяют том, что ячейки. содержащей комплексную функцию. уже зависит от.
способа удаления. Но,.Add c.Rows(1), xlSortOnValues,arr1(i — 1, 1 — i) In .Columns вашего «Нужно1″ Sub1Insert — Module есть пустые ячейки:
– это долго.
команду «Фильтр» в могут содержать скрытыеНа ленте Курсор должен преобразоваться конкретных задач иОткрывается окошко условного форматирования.
если таких незаполненных xlDescending
1) = buff1 = arr2(j, arrK(i,c.Cells(0) = WorksheetFunction.CountA(c)Dim r&, c&,testRows00Нужно1) и скопируйте тудаЗадача — удалить пустые
Но, есть способ, разделе сортировки. формулы (бесцветный текст).редактора запросов
в крестик. Зажимаем личных приоритетов пользователя. В левое поле элементов большое количество,End With
buff1 = arr1(i, 1))Next i&, n&, v()
’ выделенная область111 222 333 текст этой функции: ячейки, оставив только удалить все пустыеТеперь остается нажать на А сами вычислениянажмите кнопку левую кнопку мышиУрок:
вписываем цифру
то в этом
.SetRange c 2)Next jSet c =v = Selection.Value
та же 4 55Function NoBlanks(DataRange As ячейки с информацией. строки одним махом. сам фильтр, отобразить могут ссылаться наУдалить столбцы и тянем егоУсловное форматирование в Excel«0» случае, данную процедуру.Header = xlNoarr1(i, 2) =Next i
.Offset(-1).Resize(.Rows.Count + 1)
n = UBound(v)’ ПРЕДУПРЕЖДЕНИЕ: одна11 22 44 Range) As Variant()Выделяем исходный диапазон
Первый вариант. только пустые ячейки строки, в которыхи выберите команду вниз до самогоУрок:. В правом поле нужно автоматизировать.
.Orientation = xlLeftToRight arr1(i — 1,End WithWith .Parent.Sort ‘ кол-во строк строка выше выделенного 555 Dim N As
excel-office.ru
Удаление пустых ячеек из диапазона
Постановка задачи
Жмем клавишуУ нас такая и удалить их.
данные отсутствуют, ноУдалить столбцы конца диапазона
Способ 1. Грубо и быстро
- Сортировка и фильтрация данных
- выбираем любой цвет,Наиболее простой способ удалить.Apply 2) Sheets(lName).Cells(1 + dR,With .SortFields в выделенном диапазоне диапазона будут очищена 111 444 55 Long Dim N2F5 таблица. В нашем
Но тут есть их предполагается ввести - . Можно также выбрать«Без_пустых» в Excel но можно оставить пустые элементы – End Witharr1(i — 1,
Способ 2. Формула массива
1 + dC).Resize(maxRow,.ClearFor c =For Each col11 44 As Long Dim, далее кнопка примере — несколько одна загвоздка. Нельзя в дальнейшем. Такие команду .Кроме того, убрать пустые
настройки по умолчанию. это воспользоваться инструментом.Rows(0).Delete 2) = buff1 maxCln).ClearContents.Add c.Rows(1), xlSortOnValues, 1 To UBound(v, In Selection.Columns1
Rng As RangeВыделить строк, но может применять такое удаление ячейки с точки
Удалить другие столбцы
Как видим, после этого ячейки из массива
Щелкаем по кнопке
выделения групп ячеек.End WithEnd IfSheets(lName).Cells(1 + dR, xlDescending 2)col.Offset(-1).Cells(1, 1).Value =Нужно2 Dim MaxCells As(Special) быть строк очень для нескольких столбцов, зрения программы пустыми, чтобы удалить все действия мы имеем можно, применив сложную
Способ 3. Пользовательская функция на VBA
«OK»Выделяем диапазон на листе,’ вкл. все,Next i 1 + dC).Resize(maxRow,End With’ находим первую WorksheetFunction.CountA(col)111 4 55 Long Dim Result(). В открывшмся окне много.
если в одной не считаются. столбцы, диапазон, в котором формулу, состоящую из. над которым будем что отключали
If fOut Then maxCln) = arrOut.SetRange c пустую ячейку вNext 222 333 As Variant Dim выбираемСтроки 2, 4, 6, строке хоть однаНо посмотрим, как вкроме подряд расположены заполненные нескольких функций.Как видим, все ячейки проводить операцию поискаActiveSheet.EnableCalculation = True Exit DoApplication.ScreenUpdating = True.Header = xlNo столбцеSet rngS =11 44 555 R As LongПустые ячейки 8 нужно удалить. ячейка содержит данные. «Экселе» удалить пустыевыделенных. ячейки. Но выполнятьПрежде всего, нам нужно указанного диапазона, в и удаления пустыхApplication.ScreenUpdating = True
LBdr = kApplication.StatusBar = «Вывод.Orientation = xlLeftToRightFor i = Selection.Offset(-1).Resize(Selection.Rows.Count + 1) 22
- Dim C As(Blanks)
- Выделяем таблицу, нажимаемНаконец, рассмотрим еще один строки, если ониС помощью контекстного меню различные действия с будет дать имя которых находятся значения, элементов. Жмем наEnd SubLoop данных закончен».Apply 1 To nWith rngS.Parent.Sort
- 111 444 55 Long MaxCells =и жмем кнопку «Сортировка и универсальный метод. Он действительно являются таковыми.редактора запросов
planetaexcel.ru
Как удалить пустые ячейки в столбцах сразу в 100 столбцах? (Формулы/Formulas)
этими данными мы диапазону, который подвергается были выделены в функциональную клавишу наgling
End SubEnd SubEnd WithIf Len(v(i, c)).SortFields.Add Key:=rngS.Rows(1), _11 44 Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count,
ОК фильтр» на закладке позволяет решить проблему
Самым простым методомВыберите столбец, который вы
не сможем, так
трансформации. Выделяем область,
выбранный цвет, а
клавиатуре
: Ошибка, должно быть
AndreTM
Function SheetCheck(ByVal ShName
.Rows(0).Delete
= 0 Then
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal1
DataRange.Cells.Count) ReDim Result(1.
«Главная» и выбираем
того, как в
считается обычное выделение
хотите удалить. Чтобы
как они связаны делаем щелчок правой
пустые остались белыми.F5
так
: А если в
As String) As
End With
Exit For.SetRange rngSСпасибо)
To MaxCells, 1Выделяются все пустые
«Сортировать от минимального
«Эксель» удалить пустые
при помощи мыши
выделить несколько столбцов, формулой массива. Выделяем
кнопкой мышки. В
Опять выделяем наш.regnus
код ещё добавить | Byte | End Sub |
Next | .Header = xlGuess | См. пример в |
To 1) For | ячейки в диапазоне. | |
к максимальному» (или | строки в диапазоне | |
с зажатой левой |
щелкните их, удерживая весь диапазон
активировавшемся меню выбираем диапазон. В этойЗапускается небольшое окошко, которое: Пробую ваш файл, отключение/включение
Dim x As
Udik' проверяем остальные
.Orientation = xlLeftToRight экселе, тут форматирование
Each Rng InДаем в меню команду от максимального к
от и до кнопкой. Оно производится
нажатой клавишу«Без_пустых»
пункт же вкладке
называется т.к. вроде он
Application.ScreenUpdating Byte
: Вот попробовал сварганить
ячейки в столбце
.SortMethod = xlPinYin не то.
DataRange.Cells If Rng.Value
на удаление выделенных
минимальному). определенного номера или
движением вверх илиCTRL
. Жмем на кнопку
«Присвоить имя…»
«Главная»
«Переход»
делает 2 варианта.
- то тоже
x = 0 с сортировкой столбцов,
For r =.Apply
Nic70y <> vbNullString Then ячеек: правой кнопкой
Подробнее о сортировке
значения. вниз по полю
или«Копировать».
щелкаем по кнопке. Жмем в нем
500 строк и быстродействие поднимется.
For Each ws
вышло многа букфф i + 1
End With
: F5
N = N
мыши
в таблице смотрите
В этом случае следует
нумерации слева. Затем,
SHIFT
, которая размещена во
Открывается окно присвоения наименования.
«Сортировка и фильтр»
кнопку 100 столбцов обрабатываетВотбы вам сразу
In ActiveWorkbook.Sheets200?’200px’:»+(this.scrollHeight+5)+’px’);»> To n
rngS.Rows(1).ClearContents
Выделить + 1 Result(N,- в статье «Сортировка
использовать раздел редактирования используя правый клик,. вкладке
В поле, расположенной в группе
«Выделить…» за 1-3 минуты. спросить — «как
If ws.Name =
Public Sub test()If Len(v(r, c))End Sub
пустые ячейки 1) = Rng.ValueУдалить ячейки (Delete Cells) в Excel». на главной панели вы вызываете контекстноеЩелкните правой кнопкой мыши«Главная»«Имя»
«Редактирование». Точно не скажу, БЫСТРО проделать данную ShName ThenDim i As ThenСмеяться не надоПКМ — удалить End If Nextсо сдвигом вверх.Все заполненные строки
с выбором кнопки меню, где выбираете выделенные столбцы.
в блоке инструментов
даем любое удобное
. В открывшемся менюОткрывается следующее окно –
т.к. при обработке операцию на таком-то
x = 1 Integer, j Asv(i, c) =Мне было простоячейки, со сдвигом Rng For N2Для упрощения дадим нашим
будут стоять вверху «Найти и выделить». строку удаления. НоВ контекстном меню выберите«Буфер обмена»
название. Главное условие жмем на кнопку
«Выделение групп ячеек»
виснет. объёме"...Exit For
Integer, k As v(r, c) нечего делать
вверх = N + рабочим диапазонам имена,
таблицы, а пустые Из выпадающего меню
такая методика применима команду.
– в нем
«Фильтр». Устанавливаем в нем
А 3000 строкglingEnd If
Integerv(r, c) =
Например, предложенныйто?
1 To MaxCells используя
строки соберутся внизу
выбирается строка выделения
только в том
Удалить
После этого выделяем первоначальный
не должно быть.
переключатель в позицию
и 100 столбцов: Собрал конструкцию из
Next wsDim dC As EmptyNic70ySerge_007 Result(N2, 1) =Диспетчер Имен (Name Manager) таблицы. группы ячеек. А случае, если ячейки, чтобы удалить выделенные массив данных. Щелкаем пробелов. Для примераПосле этих действий, как«Пустые ячейки» появляется жесть. разных файлов, быстро
SheetCheck = x Integer, dR Asi = i + 1код: А Вы его vbNullString Next N2на вкладкеОсталось удалить эти в окошке условия располагаются подряд. столбцы, или
правой кнопкой мыши. мы присвоили диапазону видим, в верхнем. Выполняем щелчок поЭксель зависает минут ли работает неEnd Function IntegerEnd If
Код200?'200px':''+(this.scrollHeight+5)+'px');">Sub testRows() и не применяли:
If Application.Caller.Rows.Count =Формулы (Formulas)
строки. Чтобы быстро активируется та, которая
Как удалить пустые строкиУдалить другие столбцы В открывшемся списке
наименование
элементе столбца появилась
кнопке
на 20 и знаю. Диапазон сортировки
Private Sub sortArr(arr1()
Const maxRow As
Next r, c' используя встроенные
111
1 Then NoBlanks
или - в
это сделать, есть указывает на пустые
в «Экселе», если
, чтобы удалить все
в группе
«С_пустыми»
пиктограмма символизирующая фильтр.
«OK»
более
нужно указывать в
As Integer)
Integer = 25,Selection = v средства, удаляем пустые222
= Application.Transpose(Result) Else
Excel 2003 и
хитрость. единицы. После этого пустые поля чередуются столбцы,
«Параметры вставки». Больше никаких изменений Жмем на неё.
.Начинает глючить и макросе, может ктоDim fOut As maxCln As Integer
End Sub ячейки, со сдвигом4 NoBlanks = Result старше - менюВыделяем первую пустую
в разделе операций с данными? Вкроме
жмем на пиктограмму в том окне В открывшемся списке
Как видим, все пустые не открывает другие переделает под выделение.
Byte = 25 'задаемregnus данных вверх
333 End If End
Вставка - Имя - строку, нажав на с ячейками выбирается
этом случае вопросвыделенных.«Значения
вносить не нужно.
переходим в пункт
элементы указанного диапазона файлы.
Сортируются столбцы начиная
Dim LBdr As размеры для считывания
: Спасибо!!!' ПРЕДУПРЕЖДЕНИЕ: сдвигаются
44
Function Присвоить
номер строки. Затем
кнопка удаления.
решается другим способом.
Примечание:».
Жмем на кнопку«Сортировка по цвету»
были выделены. Кликаем
Приходится перегружать комп...как
с нижней строки. Integer, RBdr As
Const lName Asбыстро действительно.
выше данные, расположенные55Не забудьте сохранить файл(Insert - Name -
нажимаем одновременно кнопки
Вот, собственно, и все
Для этого следует
После этих действий данные«OK»
. Далее в группе по любому из будто эксель вирус
Результат не отличается
Integer String = "buff",
А Нужно 2
на листе ниже11 и вернитесь из
Define) на клавиатуре Shift+Ctrl+
простейшие методы, при
зажать клавишу Ctrl,Редактор запросов
будут вставлены в.
«Сортировка по цвету ячейки»
них правой кнопкой
хватает.
от результата Udik.
Dim buff1 As
lNmBasa As String
сможете? выделенной области
55 редактора Visual Basic
Диапазону B3:B10 даем имя стрелка вниз. Выделятся помощи которых можно
а затем, удерживаяотображается только при
изначальную область своегоВыделяем в любом месте
выбираем тот цвет,
мыши. В запустившемсяЕсть способы не
regnus
Integer
= "test" 'именаAndreTM' работаем с
11 в Excel. ЧтобыЕстьПустые
все строки до
произвести удаление пустых
ее, выделить каждую загрузке, редактировании или
расположения цельным диапазоном на листе точно которым произошло выделение
контекстном меню щелкаем вешать эксель и
: Ваш пример работает.Dim str1 As
целевого и базового: выделенной областью
44 использовать эту функцию
, диапазону D3:D10 -
конца листа. Теперь
строк буквально в строку, подлежащую удалению.
создании нового запроса
без пустых ячеек.
такой же по в результате условного по пункту ускорить обработку?
А мой нет. String листа
regnus
If Selection.Count =
1 в нашем примере:
НетПустых удаляем строки как пару кликов. Опять
После этого в с помощью
При желании массив, размерам диапазон пустых
форматирования.«Удалить…»Serge_007
Вставляет 2 столбцаLBdr = 1
Dim arrK(1 To
, а "Нужно 2"
1 Then ExitAndreTM
Выделите достаточный диапазон пустых
. Диапазоны должны быть
обычную строку.
же, нужно помнить меню правого кликаPower Query который содержит формулу, ячеек. Аналогично кликаемМожно также сделать немного.
: в один.RBdr = UBound(arr1, maxCln, 1 To в моём варианте
Sub: Типа вот так? ячеек, например F3:F10. строго одного размера,Получилось так. и том, что выбираете соответствующую операцию.. В видео показано теперь можно удалить. правой кнопкой мыши по-другому. Кликаем поОткрывается маленькое окошко, в
regnusНе сортирует столбцы.
1)
2) As Integer (конечно, заменив в
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
(Код надо поместить
Идем в меню а расположены могутВторой вариант. в некоторых ячейках Заметьте, если использовать
окноУрок: и, вызвав контекстное
значку фильтрации. В котором нужно выбрать,, Вы можете выложить
удалено администрациейDo While 1Dim arr2(1 To его вызове процедуруEnd Subне подходит в общий модуль,Вставка - Функция (Insert
быть где угодноТак же устанавливаем
может находиться скрытый клавишу Del, будет
редактора запросовКак присвоить имя ячейке
меню, переходим по появившемся меню снимаем
что именно следует видео с экрана?
KSVfOut = 1 maxRow, 1 To
testRows00
по причине, изложенной
и вызывать, предварительно
- Function) относительно друг друга.
фильтр. Но в
текст. А сами
произведена только очистка, которое отображается после
в Excel
пункту
галочку с позиции
удалить. Оставляем настройкиUdik
:
For i =
maxCln)
на
в комментариях...
выделив область для
или жмем на кнопку
Теперь выделим первую ячейку
диалоговом окне фильтра пустые ячейки могут
содержимого, а не
изменения запроса в
Существует несколько способов удаления
«Присвоить имя…»«Пустые» по умолчанию –
: Я на своёмregnus 1 To RBdrDim arrOut(1 To
PackByRowsregnus обработки)Вставить функцию второго диапазона (D3) ставим галочку только
быть зависимыми при удаление целых строк. книге Excel. Чтобы
пустых элементов в.. После этого щелкаем
«Ячейки, со сдвигом вверх» попробовал 3000х200 -, что у вас
— 1 maxRow, 1 Toот KSV всё
:200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub testRows00()(Insert Function)
и введем в у слова «Пустые». ссылке на них В прочем, для просмотреть
Microsoft Excel. ВариантВ открывшемся окне, как по кнопке. Жмем на кнопку
excelworld.ru
ок. 35с.
Удаление пустых ячеек в Microsoft Excel
При выполнении задач в приложении Excel может наступить необходимость удалить пустые ячейки. Они зачастую являются ненужным элементом и только увеличивают общий массив данных, чем запутывают пользователя. Определим способы, какими можно быстро удалить пустые элементы.
Алгоритмы удаления
Прежде всего, нужно разобраться, а действительно ли можно в конкретном массиве или таблице удалять пустые ячейки? Указанная процедура приводит к смещению данных, а это далеко не всегда является допустимым. По сути, элементы можно удалять только в двух случаях:
- Если строка (столбец) полностью является пустой (в таблицах);
- Если ячейки в строке и столбце логически не связаны друг с другом (в массивах).
Если пустых ячеек мало, то их вполне можно удалить с помощью обычного ручного способа удаления. Но, если таких незаполненных элементов большое количество, то в этом случае, данную процедуру нужно автоматизировать.
Способ 1: выделение групп ячеек
Наиболее простой способ удалить пустые элементы – это воспользоваться инструментом выделения групп ячеек.
-
Выделяем диапазон на листе, над которым будем проводить операцию поиска и удаления пустых элементов. Жмем на функциональную клавишу на клавиатуре F5.
Запускается небольшое окошко, которое называется «Переход». Жмем в нем кнопку «Выделить…».
Как видим, все пустые элементы указанного диапазона были выделены. Кликаем по любому из них правой кнопкой мыши. В запустившемся контекстном меню щелкаем по пункту «Удалить…».
После этих манипуляций все пустые элементы внутри указанного диапазона будут удалены.
Способ 2: условное форматирование и фильтрация
Удалить пустые ячейки можно также путем применения условного форматирования и последующей фильтрации данных. Этот метод сложнее предыдущего, но, тем не менее, некоторые пользователи предпочитают именно его. Кроме того, нужно сразу оговориться, что этот способ подходит только в том случае, если значения находятся в одном столбце и не содержат формулы.
-
Выделяем диапазон, который собираемся обрабатывать. Находясь во вкладке «Главная», жмем на пиктограмму «Условное форматирование», которая, в свою очередь, располагается в блоке инструментов «Стили». Переходим в пункт открывшегося списка «Правила выделения ячеек». В появившемся списке действий выбираем позицию «Больше…».
Открывается окошко условного форматирования. В левое поле вписываем цифру «0». В правом поле выбираем любой цвет, но можно оставить настройки по умолчанию. Щелкаем по кнопке «OK».
Как видим, все ячейки указанного диапазона, в которых находятся значения, были выделены в выбранный цвет, а пустые остались белыми. Опять выделяем наш диапазон. В этой же вкладке «Главная» щелкаем по кнопке «Сортировка и фильтр», расположенной в группе «Редактирование». В открывшемся меню жмем на кнопку «Фильтр».
После этих действий, как видим, в верхнем элементе столбца появилась пиктограмма символизирующая фильтр. Жмем на неё. В открывшемся списке переходим в пункт «Сортировка по цвету». Далее в группе «Сортировка по цвету ячейки» выбираем тот цвет, которым произошло выделение в результате условного форматирования.
Можно также сделать немного по-другому. Кликаем по значку фильтрации. В появившемся меню снимаем галочку с позиции «Пустые». После этого щелкаем по кнопке «OK».
В любом из указанных в предыдущем пункте вариантов пустые элементы будут скрыты. Выделяем диапазон оставшихся ячеек. На вкладке «Главная» в блоке настроек «Буфер обмена» выполняем щелчок по кнопке «Копировать».
Затем выделяем любую пустую область на том же или на другом листе. Выполняем щелчок правой кнопкой мыши. В появившемся контекстном списке действий в параметрах вставки выбираем пункт «Значения».
Способ 3: применение сложной формулы
Кроме того, убрать пустые ячейки из массива можно, применив сложную формулу, состоящую из нескольких функций.
-
Прежде всего, нам нужно будет дать имя диапазону, который подвергается трансформации. Выделяем область, делаем щелчок правой кнопкой мышки. В активировавшемся меню выбираем пункт «Присвоить имя…».
Открывается окно присвоения наименования. В поле «Имя» даем любое удобное название. Главное условие – в нем не должно быть пробелов. Для примера мы присвоили диапазону наименование «С_пустыми». Больше никаких изменений в том окне вносить не нужно. Жмем на кнопку «OK».
Выделяем в любом месте на листе точно такой же по размерам диапазон пустых ячеек. Аналогично кликаем правой кнопкой мыши и, вызвав контекстное меню, переходим по пункту «Присвоить имя…».
В открывшемся окне, как и в предыдущий раз, присваиваем любое наименование данной области. Мы решили дать ей название «Без_пустых».
Выделяем двойным щелчком левой кнопки мышки первую ячейку условного диапазона «Без_пустых» (у вас он может назваться и по-другому). Вставляем в неё формулу следующего типа:
Так как это формула массива, то для выведения расчета на экран нужно нажать комбинацию клавиш Ctrl+Shift+Enter, вместо обычного нажатия кнопки Enter.
Но, как видим, заполнилась только одна ячейка. Для того, чтобы заполнились и остальные, нужно скопировать формулу на оставшуюся часть диапазона. Это можно сделать с помощью маркера заполнения. Устанавливаем курсор в нижний правый угол ячейки, содержащей комплексную функцию. Курсор должен преобразоваться в крестик. Зажимаем левую кнопку мыши и тянем его вниз до самого конца диапазона «Без_пустых».
Как видим, после этого действия мы имеем диапазон, в котором подряд расположены заполненные ячейки. Но выполнять различные действия с этими данными мы не сможем, так как они связаны формулой массива. Выделяем весь диапазон «Без_пустых». Жмем на кнопку «Копировать», которая размещена во вкладке «Главная» в блоке инструментов «Буфер обмена».
После этого выделяем первоначальный массив данных. Щелкаем правой кнопкой мыши. В открывшемся списке в группе «Параметры вставки» жмем на пиктограмму «Значения».
Существует несколько способов удаления пустых элементов в Microsoft Excel. Вариант с выделением групп ячеек наиболее простой и быстрый. Но ситуации бывают разные. Поэтому, как дополнительные способы, можно использовать варианты с фильтрованием и применением комплексной формулы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
5 вариантов, как удалить пустые строки в Excel
Доброго времени суток друзья!
Эту статью я написал с целью описать 5 простых вариантов, как возможно удалить пустые строки в Excel. Частенько после импорта данных или простого копирования с другого источника мы получаем пустые строки и столбцы, что в дальнейшем может негативно сказаться и осложнить работу с информацией.
Разрывы, которые возникают в таблице благодаря возникшим пустотам, могут помешать вам эффективно ее использовать. Возникают такие проблемы:
- ошибки при автоматическом построении разнообразных формул, графиков, диаграмм;
- пустые строки, выполняют роль разделителя вычисляемой области и т.п.;
Избежать таких ошибок очень легко и очень просто, нужно всегда следить постоянно за качеством вашей информации и при выявлении ненужных пробелов в ваших данных, удалять их. Найти и удалить незаполненые строки, столбцы и ячейки можно 5 способами:
Сортировка
Это самый простой способ убрать с вашей рабочей области или вычисляемого диапазона чистые строки. Вам нужно выделить диапазон, выбрать на вкладке «Данные» кнопку «Сортировка» и в предоставленном диалоговом окне выбираем вариант сортировки. Программа всё отсортирует по полочкам, и вы можете удалить пустые строки. Будьте внимательны! При использовании сортировки в таблице, которая имеет в своем составе несколько столбцов, вы можете нарушить целостность информации, ваши данные могут сместиться на другие ряды. Для избегания этой проблемы при выборе сортировки, нужно выделить всю таблицу и применить сортировку для всего выделенного объема.
Если очень важен порядок следования строк в таблице, вам стоит для начала создать столбик с порядковой нумерацией рядов, а после сортировки и удаления пустых срок в таблице Excel, снова выстроить данные по этому столбику.
Фильтрация
Этот способ также является простым и доступным абсолютно любому пользователю. Для применения фильтра на таблицу вам необходимо на вкладке «Главная» в разделе «Редактирование» нажимать кнопку «Сортировка и фильтр» и в открывшемся пункте меню выбираете «Фильтр». После включения фильтра, вам нужно выбрать столбец и в выпадающем меню указать отображение пустых ячеек. Дольше вы выделяете полученные пустые строки и просто-напросто удаляете их.
Выделение группы ячеек
Я бы и этот способ причислил к достаточно простым и лёгким. Для применения этого варианта вам нужен инструмент «Выделение группы ячеек». Удалить незаполненые строки возможно в несколько этапов:
- выделение нужного диапазона;
- выбираем вкладку «Главная», в блоке «Редактирование», кликаем «Найти и выделить» и в выпадающем меню выбираете «Выделение группы ячеек»;
- в диалоговом окне, в разделе «Выделить» отмечаем пункт «пустые ячейки»;
- переходим во вкладку «Главная» и нажимаем кнопку «Ячейки» и выбираем пункт «Удалить»;
- в диалоговом окне выбираете пункт «удалить ячейки со сдвигом вверх» и все незаполненые строки будут удалены.
Формула массива
Этот способ уже на искушенного пользователя. Хотя ничего уж слишком сложного и нет, тем не менее, этот способ я увидел у Николая Павлова на его сайте и решил добавить его для полноты информации о возможностях чистки от пустых строк с применением формулы массива.
Итак, в чём же состоит этот способ по удалению пустых строк в Excel и как его применять:
- для большей простоты дадим имена нашим диапазонам, для этого на вкладке «Формулы» нажимаете «Диспетчер имен» и присваиваете для двух диапазонов имена, например для изначальных данных с пустыми ячейками – «Пустые», а для обработанных – «БезПустых». Обязательное условие в том, что диапазоны должны иметь одинаковый результат, но вот размещение этих диапазонов могут и отличатся, это не критично;
- следующим шагом это введение в первую ячейку второго диапазона формулу:
=ЕСЛИ( СТРОКА() — СТРОКА (БезПустых) +1> ЧСТРОК( Пустые) — СЧИТАТЬПУСТОТЫ (Пустые);»«; ДВССЫЛ ( АДРЕС (НАИМЕНЬШИЙ ((ЕСЛИ (Пустые <>»»; СТРОКА (Пустые); СТРОКА()+ ЧСТРОК( Пустые))); СТРОКА() — СТРОКА (БезПустых)+1); СТОЛБЕЦ( Пустые);4))). Да я сам знаю, что формула страшная, сам, когда ее увидел, обалдел, тем не менее, она рабочая и исправно выполняет возложенные на нее обязанности;
- после прописания формулы, вам нужно окончить введение формулы «гарячей» комбинацией клавишCtrl+Shift+Enter, это необходимо для того, что бы формула была введена как формула массива. Теперь используя возможность в Excel как авто заполнение (копирование формулы, протягивая за крестик в углу) вы получили исходный диапазон, но уже без пустых ячеек.
Макрос
Этот вариант также не прост, но, используя предоставленные коды, и инструкции к их применению ничего сложного и неосуществимого вы не увидите. Макрос стоит использовать, если вы уверены что такую процедуру по удалению пустых строк в Excel, а также, столбцов или ячеек будет очень частым и для выполнения этих работ стоит прописать скрипт.
Перейдите во вкладку «Сервис», выберите раздел «Макрос» и нажмите кнопку «Редактор Visual Basic» или нажав ALT+F11 и в появившемся диалоговом окне редактора нажимаем «Insert» — «Module». В открывшимся, пустом модуле ставим код:
- для удаления всех незаполненых рядов в таблице:
Как удалить пустые столбцы? Программное удаление пустых столбцов макросом VBA
Существует несколько способов удаления пустых столбцов в Excel. Условно эти способы можно разделить на стандартные, выполняемые стандартными средствами Excel и нестандартные, выполняемые с помощью программирвоания на VBA.
Стандартные способы удаления пустых столбцов
Удаление вручную
Это самый простой способ, при котором необходимо навести курсор на название пустого столбца и кликнуть по нему левой кнопкой мыши. Весь столбец выделится. Нажав и удерживая клавишу Ctrl на клавиатуре, можно выделить несколько столбцов. После этого их можно удалить все одновременно, кликнув правой кнопкой мыши в выделенной области и выбрав команду «Удалить» в контекстном меню.
Удаление при помощи сортировки
Суть этого способа сводится к тому, чтобы используя сортировку по возрастанию либо по убыванию сгруппировать все пустые столбцы и после этого удалить их, выделив диапазон пустых столбцов. При этом очередность столбцов нарушается и для того, чтобы ее затем восстановить, необходимо предварительно в спомогательной строке ввести нумерацию всех столбцов. Кроме того, необходимо изменить параметры сортировки. По умолчанию в Excel установлен параметр «сортировать строки диапазона». Для сортировки столбцов необходимо изменить этот параметр на «сортировать столбцы диапазона».
Удаление при помощи выделения группы ячеек
Для того чтобы удалить пустые столбцы в Excel 2007 и 2010 можно воспользоваться возможностью выделения группы ячеек. Для этого выделяем строку, содержащую пустые ячейки, после чего находим на ленте Excel вкладку «Главная», в группе «Редактирование» выбираем кнопку «Найти и выделить» и выбираем пункт «Выделение группы ячеек». В появившемся диалоговом окне «Выделение группы ячеек» включаем опцию «Пустые ячейки» и нажимаем кнопку ОК. В предварительно выделенной строке будут выделены все пустые ячейки. Остается кликнуть правой кнопкой мыши в любом месте выделенного поля и выбрать пункт «Удалить. » в контекстном меню, а в появившемся диалоговом окне «Удаление ячеек» выбрать пункт «Столбец» и нажать ОК. При этом, строго говоря, будут удалены не пустые столбцы, а столбцы, содержащие пустые ячейки в предварительно выделенной строке.
Нестандартные методы удаления пустых столбцов
Программное удаление макросом VBA
Если ни один из стандартных способов не подходит, то для удаления пустых столбцов можно использовать процедуру, написанную на языке VBA, которая удалит все пустые столбцы в используемом диапазоне листа.
Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса).
Автоматическое удаление с использованием надстройки
Для тех, кому функциональности приведенной выше процедуры будет недостаточно для решения своих задач, можно воспользоваться надстройкой, позволяющей удалять и скрывать не только пустые столбцы, но и столбцы, удовлетворяющие условиям пользователя, которые можно задавать в диалоговом окне.
Пользователь на свой выбор может удалять либо скрывать пустые столбцы. Может удалять либо скрывать столбцы, содержащие либо не содержащие заданный текст, при этом на свой выбор учитывать либо не учитывать регистр. Возможен одновременный поиск сразу нескольких текстовых выражений, разделенных знаком ; (точка с запятой). Пользователь также может на свое усмотрение расширять область действия макроса и ограничивать его, задавая номера первого и последнего столбца. Кроме того, надстройка освобождает пользователя от поиска нужного макроса, так как позволяет вызывать диалоговое окно прямо из панели инструментов Excel.
Еще одна надстройка, позволяющая скрывать и удалять строки и столбцы, в зависимости от значения ячейки и заданного условия, а также удаляющая пустые ячейки и ячейки с заданными значениями со сдвигом вверх и со сдвигом влево.
Удаление столбцов (Power Query)
Примечание: Надстройка Power Query предлагается в Excel 2016 в виде группы команд Скачать и преобразовать. Информация в этой статье относится и к Power Query, и к новой группе. Дополнительные сведения см. в статье Функция «Скачать и преобразовать» в Excel 2016.
Если запрос содержит ненужные столбцы, их можно удалить.
Удаление столбцов
С помощью ленты редактора запросов
Выберите столбец, который вы хотите удалить. Чтобы выделить несколько столбцов, щелкните их, удерживая нажатой клавишу CTRL или SHIFT.
На ленте редактора запросов нажмите кнопку Удалить столбцы и выберите команду Удалить столбцы. Можно также выбрать команду Удалить другие столбцы, чтобы удалить все столбцы, кроме выделенных.
С помощью контекстного меню редактора запросов
Выберите столбец, который вы хотите удалить. Чтобы выделить несколько столбцов, щелкните их, удерживая нажатой клавишу CTRL или SHIFT.
Щелкните правой кнопкой мыши выделенные столбцы.
В контекстном меню выберите команду Удалить, чтобы удалить выделенные столбцы, или Удалить другие столбцы, чтобы удалить все столбцы, кроме выделенных.
Примечание: Редактор запросов отображается только при загрузке, редактировании или создании нового запроса с помощью Power Query. В видео показано окно редактора запросов, которое отображается после изменения запроса в книге Excel. Чтобы просмотреть редактор запросов, не загружая и не изменяя существующий запрос в книге, в разделе Получение внешних данных на вкладке ленты Power Query выберите Из других источников > Пустой запрос. В видео показан один из способов отображения редактора запросов.
Удаление пустых ячеек из диапазона
Постановка задачи
Имеем диапазон ячеек с данными, в котором есть пустые ячейки:
Задача — удалить пустые ячейки, оставив только ячейки с информацией.
Способ 1. Грубо и быстро
- Выделяем исходный диапазон
- Жмем клавишу F5, далее кнопка Выделить(Special) . В открывшмся окне выбираем Пустые ячейки(Blanks) и жмем ОК.
Выделяются все пустые ячейки в диапазоне.
Способ 2. Формула массива
Для упрощения дадим нашим рабочим диапазонам имена, используя Диспетчер Имен (Name Manager) на вкладке Формулы (Formulas) или — в Excel 2003 и старше — меню Вставка — Имя — Присвоить (Insert — Name — Define)
Диапазону B3:B10 даем имя ЕстьПустые, диапазону D3:D10 — НетПустых. Диапазоны должны быть строго одного размера, а расположены могут быть где угодно относительно друг друга.
Теперь выделим первую ячейку второго диапазона (D3) и введем в нее такую страшноватую формулу:
В английской версии это будет:
=IF(ROW()-ROW(НетПустых)+1>ROWS(ЕстьПустые)-COUNTBLANK(ЕстьПустые),»»,INDIRECT(ADDRESS(SMALL((IF(ЕстьПустые<>«»,ROW(ЕстьПустые),ROW()+ROWS(ЕстьПустые))),ROW()-ROW(НетПустых)+1),COLUMN(ЕстьПустые),4)))
Причем ввести ее надо как формулу массива, т.е. после вставки нажать не Enter (как обычно), а Ctrl+Shift+Enter. Теперь формулу можно скопировать вниз, используя автозаполнение (потянуть за черный крестик в правом нижнем углу ячейки) — и мы получим исходный диапазон, но без пустых ячеек:
Способ 3. Пользовательская функция на VBA
Если есть подозрение, что вам часто придется повторять процедуру удаления пустых ячеек из диапазонов, то лучше один раз добавить в стандартный набор свою функцию для удаления пустых ячеек, и пользоваться ей во всех последующих случаях.
Для этого откройте редактор Visual Basic (ALT+F11), вставьте новый пустой модуль (меню Insert — Module) и скопируйте туда текст этой функции:
Не забудьте сохранить файл и вернитесь из редактора Visual Basic в Excel. Чтобы использовать эту функцию в нашем примере:
- Выделите достаточный диапазон пустых ячеек, например F3:F10.
- Идем в меню Вставка — Функция (Insert — Function) или жмем на кнопку Вставить функцию(Insert Function) на вкладке Формулы (Formulas) в новых версиях Excel. В категории Определенные пользователем (User Defined) выберите нашу функцию NoBlanks.
- В качестве аргумента функции укажите исходный диапазон с пустотами (B3:B10) и нажмите Ctrl+Shift+Enter, чтобы ввести функцию как формулу массива.