Как автоматически объединить пустые ячейки выше / слева в Excel?
В этой статье я расскажу об автоматическом объединении пустых ячеек вверху или слева, как показано на скриншоте ниже. На самом деле нет встроенной утилиты, которая могла бы справиться с этой задачей, но коды макросов могут.
Объединить пустые поля выше | ||
![]() |
![]() |
![]() |
Объединить оставшиеся пробелы | ||
![]() |
![]() |
![]() |
Объединить пустые ячейки выше на основе столбца
Объединить пустые ячейки выше (работает только для одного столбца)
Объединить оставшиеся пустые ячейки
Объединить пустые ячейки выше на основе столбца
Предположим, что есть диапазон данных в трех столбцах, и теперь вы хотите объединить данные выше на основе столбца C.
1. Нажмите Alt + F11кeys, чтобы включить Microsoft Visual Basic для приложений окно и щелкните Вставить > Модули. Смотрите скриншот:
2. Затем вставьте приведенный ниже код в пустой скрипт. Смотрите скриншот:
VBA: объединить пустое поле выше на основе следующего столбца
Sub MergeCells()
'UpdatebyExtendoffice2017025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then
Range(xCell, xCell.Offset(-1, 0)).Merge
End If
Next
End Sub
3. Нажмите F5 нажмите клавишу для запуска кода, а затем появится диалоговое окно, напоминающее вам о выборе диапазона для работы. Смотрите скриншот:
4. Нажмите OK, то пустые ячейки были объединены выше. Смотрите скриншот:
Объединить пустые ячейки выше (работает только для одного столбца)
Вот код макроса, который может объединить пустые ячейки выше в указанном столбце.
1. Нажмите Alt + F11 ключи для включения Microsoft Visual Basic для приложений окно и щелкните Вставить > Модули. Смотрите скриншот:
2. Вставьте приведенный ниже код в скрипт. Смотрите скриншот:
VBA: объединить пустые ячейки выше
Sub mergeblankswithabove()
'UpdatebyExtendoffice20171025
Dim I As Long
Dim xRow As Long
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range (single column):", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Then
MsgBox "Only work for single column", , "KuTools For Excel"
Exit Sub
End If
xRow = xRg.Rows.Count
Set xRg = xRg(xRow)
For I = xRow To 1 Step -1
Set xCell = xRg.Offset(I - xRow, 0)
Debug.Print xCell.Address
If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge
Next
End Sub
3. Нажмите F5 нажмите клавишу, чтобы запустить код, и появится диалоговое окно, в котором вы можете выбрать диапазон столбцов. Смотрите скриншот:
4. Щелкните ОК. И пустые ячейки в выделенной области были объединены выше.
![]() |
![]() |
![]() |
Объединить оставшиеся пустые ячейки
Если вы хотите объединить оставшиеся пустые ячейки, следующий код может оказать вам услугу.
1. Нажмите Alt + F11 ключи для включения Microsoft Visual Basic для окна приложений и щелкните Вставить > Модули. Смотрите скриншот:
2. Затем вставьте приведенный ниже код в пустой скрипт. Смотрите скриншот:
VBA: объединить оставшиеся пробелы
Sub mergeblankswithleft()
'UpdatebyExtendoffice20171025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then Range(xCell, xCell.Offset(0, -1)).Merge
Next
End Sub
3. Нажмите F5 нажмите клавишу для запуска кода, и появится диалоговое окно для выбора диапазона. Смотрите скриншот:
4. Нажмите OK. Пустые ячейки объединены слева.
Объединить оставшиеся пробелы | ||
![]() |
![]() |
![]() |
Объединить те же ячейки или разъединить ячейку
|
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
