Как автоматически объединить пустые ячейки, расположенные сверху или слева, в Excel?
В этой статье я расскажу, как автоматически объединять пустые ячейки со значениями сверху или слева — именно так, как показано на снимке экрана ниже. Хотя встроенного инструмента для этой задачи не существует, с ней легко справятся макросы.
| Объединить пустые ячейки сверху | ||
![]() | ![]() | ![]() |
| Объединить пустые ячейки слева | ||
![]() | ![]() | ![]() |
Объединение пустых ячеек сверху на основе столбца
Объединить пустые ячейки сверху (работает только для одного столбца)
Объединить пустые ячейки слева
Объединение пустых ячеек сверху на основе столбца
Допустим, у вас есть диапазон данных в трёх столбцах, и вы хотите объединить строки сверху вниз на основе значений в столбце C.
1. Нажмите Alt + F11, чтобы открыть окно 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. Нажмите ОК, после чего пустые ячейки будут объединены сверху. См. снимок экрана:

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Объединить пустые ячейки сверху (работает только для одного столбца)
Ниже приведён макрос, объединяющий пустые ячейки сверху в указанном столбце.
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. Нажмите ОК. Пустые ячейки будут объединены слева.
| Объединить пустые ячейки слева | ||
![]() | ![]() | ![]() |
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек




