Перейти к содержимому

Как автоматически объединить пустые ячейки сверху/слева в Excel?

Author: Sun Last Modified: 2025-06-05

В этой статье я расскажу об объединении пустых ячеек сверху или слева автоматически, как показано на скриншоте ниже. На самом деле, в Excel нет встроенной утилиты для выполнения этой задачи, но макросы могут помочь.

Объединить пустые ячейки сверху    
original data darrow right  merge blank above

 Объединить пустые ячейки слева    
original data arrow right merge blank left

Объединить пустые ячейки сверху на основе столбца

Объединить пустые ячейки сверху (работает только для одного столбца)

Объединить пустые ячейки слева


Объединить пустые ячейки сверху на основе столбца

Предположим, у вас есть диапазон данных в трех столбцах, и вы хотите объединить данные сверху на основе столбца C.
dsample data

1. Нажмите Alt + F11чтобы открыть окно Microsoft Visual Basic for Applications и нажмите Insert > Module. Смотрите скриншот:
click Insert > Module

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

copy and paste the code into the module

3. Нажмите F5 для запуска кода, после чего появится диалоговое окно с запросом выбрать диапазон для работы. Смотрите скриншот:
vba code to select a range

4. Нажмите OK, затем пустые ячейки будут объединены сверху. Смотрите скриншот:
the blank cells are merged above

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Объединить пустые ячейки сверху (работает только для одного столбца)

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

1. Нажмите Alt + F11 чтобы открыть окно Microsoft Visual Basic for Applications и нажмите Insert > Module. Смотрите скриншот:
click Insert > Module

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

copy and paste the code into the module

3. Нажмите F5 для запуска кода, после чего появится диалоговое окно для выбора диапазона столбца. Смотрите скриншот:
vba code to select a column

4. Нажмите OK. Пустые ячейки в выбранном диапазоне будут объединены сверху.

original data arrow right merge blank above

Объединить пустые ячейки слева

Если вы хотите объединить пустые ячейки слева, следующий код поможет вам.

1. Нажмите Alt + F11 чтобы открыть окно Microsoft Visual Basic for Applications, и нажмите Insert > Module. Смотрите скриншот:
click Insert > Module

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

copy and paste the code into the module

3. Нажмите F5 для запуска кода, после чего появится диалоговое окно для выбора диапазона. Смотрите скриншот:
vba code to select a range data

4. Нажмите OK. Пустые ячейки будут объединены слева.

 Объединить пустые ячейки слева    
original data arrow right merge blank left

Лучшие инструменты для повышения продуктивности работы с Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных на основе: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Расширенных функций Kutools
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!