Как удалить пустые столбцы? Программное удаление пустых столбцов макросом VBA
Существует несколько способов удаления пустых столбцов в Excel. Условно эти способы можно разделить на стандартные, выполняемые стандартными средствами Excel и нестандартные, выполняемые с помощью программирвоания на VBA.
Стандартные способы удаления пустых столбцов
Удаление вручную
Это самый простой способ, при котором необходимо навести курсор на название пустого столбца и кликнуть по нему левой кнопкой мыши. Весь столбец выделится. Нажав и удерживая клавишу Ctrl на клавиатуре, можно выделить несколько столбцов. После этого их можно удалить все одновременно, кликнув правой кнопкой мыши в выделенной области и выбрав команду «Удалить» в контекстном меню.
Удаление при помощи сортировки
Суть этого способа сводится к тому, чтобы используя сортировку по возрастанию либо по убыванию сгруппировать все пустые столбцы и после этого удалить их, выделив диапазон пустых столбцов. При этом очередность столбцов нарушается и для того, чтобы ее затем восстановить, необходимо предварительно в спомогательной строке ввести нумерацию всех столбцов. Кроме того, необходимо изменить параметры сортировки. По умолчанию в Excel установлен параметр «сортировать строки диапазона». Для сортировки столбцов необходимо изменить этот параметр на «сортировать столбцы диапазона».
Удаление при помощи выделения группы ячеек
Для того чтобы удалить пустые столбцы в Excel 2007 и 2010 можно воспользоваться возможностью выделения группы ячеек. Для этого выделяем строку, содержащую пустые ячейки, после чего находим на ленте Excel вкладку «Главная», в группе «Редактирование» выбираем кнопку «Найти и выделить» и выбираем пункт «Выделение группы ячеек». В появившемся диалоговом окне «Выделение группы ячеек» включаем опцию «Пустые ячейки» и нажимаем кнопку ОК. В предварительно выделенной строке будут выделены все пустые ячейки. Остается кликнуть правой кнопкой мыши в любом месте выделенного поля и выбрать пункт «Удалить. » в контекстном меню, а в появившемся диалоговом окне «Удаление ячеек» выбрать пункт «Столбец» и нажать ОК. При этом, строго говоря, будут удалены не пустые столбцы, а столбцы, содержащие пустые ячейки в предварительно выделенной строке.
Нестандартные методы удаления пустых столбцов
Программное удаление макросом VBA
Если ни один из стандартных способов не подходит, то для удаления пустых столбцов можно использовать процедуру, написанную на языке VBA, которая удалит все пустые столбцы в используемом диапазоне листа.
Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок
в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса).
Автоматическое удаление с использованием надстройки
Для тех, кому функциональности приведенной выше процедуры будет недостаточно для решения своих задач, можно воспользоваться надстройкой, позволяющей удалять и скрывать не только пустые столбцы, но и столбцы, удовлетворяющие условиям пользователя, которые можно задавать в диалоговом окне.

Пользователь на свой выбор может удалять либо скрывать пустые столбцы. Может удалять либо скрывать столбцы, содержащие либо не содержащие заданный текст, при этом на свой выбор учитывать либо не учитывать регистр. Возможен одновременный поиск сразу нескольких текстовых выражений, разделенных знаком ; (точка с запятой). Пользователь также может на свое усмотрение расширять область действия макроса и ограничивать его, задавая номера первого и последнего столбца. Кроме того, надстройка освобождает пользователя от поиска нужного макроса, так как позволяет вызывать диалоговое окно прямо из панели инструментов Excel.
Еще одна надстройка, позволяющая скрывать и удалять строки и столбцы, в зависимости от значения ячейки и заданного условия, а также удаляющая пустые ячейки и ячейки с заданными значениями со сдвигом вверх и со сдвигом влево.
Удаление пустых строк и столбцов в данных
Пустые строки и столбцы могут быть головной болью в таблицах во многих случаях. Стандартные функции сортировки, фильтрации, подведения итогов, создания сводных таблиц и т.д. воспринимают пустые строки и столбцы как разрыв таблицы, не подхватывая данные, расположенные за ними далее. Если таких разрывов много, то удалять их вручную может оказаться весьма затратно, а удалить сразу всех «оптом», используя фильтрацию не получится, т.к. фильтр тоже будет «спотыкаться» на разрывах.
Давайте рассмотрим несколько способов решения этой задачи.
Способ 1. Поиск пустых ячеек
Это, может, и не самый удобный, но точно самый простой способ вполне достойный упоминания.
Предположим, что мы имеем дело вот с такой таблицей, содержащей внутри множество пустых строк и столбцов (для наглядности выделены цветом):
Допустим, мы уверены, что в первом столбце нашей таблицы (колонка B) всегда обязательно присутствует название какого-либо города. Тогда пустые ячейки в этой колонке будут признаком ненужных пустых строк. Чтобы быстро их все удалить делаем следующее:
- Выделяем диапазон с городами (B2:B26)
- Нажимаем клавишу F5 и затем кнопку Выделить (Go to Special) или выбираем на вкладке Главная — Найти и выделить — Выделить группу ячеек (Home — Find&Select — Go to special) .
- В открывшемся окне выбираем опцию Пустые ячейки (Blanks) и жмём ОК – должны выделиться все пустые ячейки в первом столбце нашей таблицы.
- Теперь выбираем на вкладке Главная команду Удалить — Удалить строки с листа (Delete — Delete rows) или жмём сочетание клавиш Ctrl + минус — и наша задача решена.
Само-собой, от пустых столбцов можно избавиться совершенно аналогично, взяв за основу шапку таблицы.
Способ 2. Поиск незаполненных строк
Как вы, возможно, уже сообразили, предыдущий способ сработает только в том случае, если в наших данных обязательно присутствую полностью заполненные строки и столбцы, за которые можно зацепиться при поиске пустых ячеек. Но что, если такой уверенности нет, и в данных могут содержаться и пустые ячейки в том числе?
Взгляните, например, на следующую таблицу — как раз такой случай:
Здесь подход будет чуть похитрее:
-
Введём в ячейку A2 функцию СЧЁТЗ (COUNTA) , которая вычислит количество заполненных ячеек в строке правее и скопируем эту формулу вниз на всю таблицу:

К сожалению, со столбцами такой трюк уже не проделать – фильтровать по столбцам Excel пока не научился.
Способ 3. Макрос удаления всех пустых строк и столбцов на листе
Для автоматизации подобной задачи можно использовать и простой макрос. Нажмите сочетание клавиш Alt + F11 или выберите на вкладке Разработчик — Visual Basic (Developer — Visual Basic Editor) . Если вкладки Разработчик не видно, то можно включить ее через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) .
В открывшемся окне редактора Visual Basic выберите команду меню Insert — Module и в появившийся пустой модуль скопируйте и вставьте следующие строки:
Закройте редактор и вернитесь в 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 в том, что она пропускает в исходных данных пустые ячейки, что нам и требуется:
Как удалить пустые столбцы и строки в Excel 2013 – самый быстрый и простой способ

Если в Вашей таблице Excel присутствует много пустых строк, Вы можете удалить каждую по отдельности, щелкая по ним правой кнопкой мыши и выбирая в контекстном меню команду Delete (Удалить), но для большой таблицы это займёт уйму времени! Существует более простой и быстрый способ удалить пустые столбцы или строки в Excel.
Сначала займёмся пустыми строками. Потом удалим пустые столбцы. Это делается практически точно так же.
Выделите область электронной таблицы Excel, в которой Вы хотите удалить пустые строки. Важно, чтобы область выделения включала минимум по одной дополнительной строке выше и ниже тех, которые требуется удалить.

Нажмите Find & Select (Найти и выделить) в разделе Editing (Редактирование) на вкладке Home (Главная) и в раскрывшемся меню выберите Go To Special (Выделить группу ячеек).

В диалоговом окне Go To Special (Выделить группу ячеек) выберите пункт Blanks (Пустые) и нажмите ОК.

В выбранной Вами области будут выделены все пустые ячейки.

В разделе Cells (Ячейки) на вкладке Home (Главная) нажмите Delete (Удалить) и в выпадающем меню выберите Delete Sheet Rows (Удалить строки с листа).

Все пустые строки будут удалены, а остальные окажутся смежными.

Точно так же можно удалить пустые столбцы. Выделите область, в которой необходимо удалить пустые столбцы. Важно, чтобы область выделения включала минимум по одному дополнительному столбцу левее и правее тех, которые требуется удалить.

Повторяем те же шаги: нажмите Find & Select (Найти и выделить) в разделе Editing (Редактирование) на вкладке Home (Главная) и в раскрывшемся меню выберите Go To Special (Выделить группу ячеек).

В диалоговом окне Go To Special (Выделить группу ячеек) выберите пункт Blanks (Пустые) и нажмите ОК.

Все пустые ячейки в выбранной области окажутся выделенными. Так как пустые строки были удалены ранее, то в нашей таблице оказались выделенными пустые столбцы.

В разделе Cells (Ячейки) на вкладке Home (Главная) нажмите Delete (Удалить) и в выпадающем меню выберите Delete Sheet Columns (Удалить столбцы с листа).

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

Этот метод поможет быстро очистить любую таблицу Excel от пустых строк и столбцов и значительно сэкономит время.
Примечание переводчика: Хоть этот материал и является переводом зарубежной статьи, мы в любом случае обязаны предупредить Вас. Выше описан яркий пример того, как не нужно удалять пустые строки и столбцы в Excel. Используйте опцию Go To Special (Выделить группу ячеек) с большой осторожностью, особенно в таких ситуациях, как описана здесь. Если Вы не обратили внимания, то в процессе всех манипуляций проведенных автором, была удалена первая строка в таблице, а он этого даже не заметил!
В excel убрать пустые столбцы в

с выделением групп и в предыдущий«OK»«OK»При выполнении задач вВариант, предложенный вам > arr1(i +dC = 0 Тогда единственный вариант, у меня 3000 анализируя содержимоеФормулы (Formulas) формулу:
- нас в таблице произвести их удаление, можно использовать и
- , не загружая и ячеек наиболее простой раз, присваиваем любое..
приложении Excel можетAndreTM 1, 2) Then ‘ delta Colunm — считать все строк и под’ работаем св новых версиях=ЕСЛИ(СТРОКА()-СТРОКА(НетПустых)+1>ЧСТРОК(ЕстьПустые)-СЧИТАТЬПУСТОТЫ(ЕстьПустые);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(ЕстьПустые<>»»;СТРОКА(ЕстьПустые);СТРОКА()+ЧСТРОК(ЕстьПустые)));СТРОКА()-СТРОКА(НетПустых)+1);СТОЛБЕЦ(ЕстьПустые);4))) будут видны только
Способ 1: выделение групп ячеек
формула потом не ее. не изменяя существующий и быстрый. Но
-
наименование данной области.В любом из указанныхПосле этих манипуляций все наступить необходимость удалить, прекрасно работает.k = i если выводить не данные в массив 200 столбцов. Медленно





выберите нашу функцию=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. как формулу массива, ячеку, чтобы виднее




arr1(i + 1,Application.StatusBar = «Идёт делать «Нужно2», т.к. — возможно, код Nothing с пустотами (B3:B10)Enter строки и удаляем быть особо внимательным, инструмента сортировки.




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) =




область на том что этот способ массиве или таблице откл. обновление экранаarr1(i + 1,k = 0Единственное, ее можно по циклу снизуcell.Copy cellTo ячейки в столбцах





экран нужно нажать мыши. В появившемся одном столбце и
а это далеко выделенной областьюIf fOut Then <> «» Then первой строки на строками нужно?End If данные (не пустые пустых ячеек:Если появилась необходимость,Автор: Панькова Оксана Владимировна этого их можно
ячейки, находящиеся в
Удаление столбцов (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
Как удалить пустые строки в «Экселе»: несколько простых методов
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() ‘ реализация
Как удалить пустые строки в Excel.

если таких незаполненных 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
Удаление пустых ячеек из диапазона
Постановка задачи
Жмем клавишуУ нас такая и удалить их.
данные отсутствуют, ноУдалить столбцы конца диапазона
Способ 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
Как удалить пустые ячейки в столбцах сразу в 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 Integer End 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. ВариантВ открывшемся окне, как по кнопке. Жмем на кнопку