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

Как транспонировать столбцы в строки и вставить новые строки для заполнения данных в Excel?

Author: Sun Last Modified: 2025-08-07

В этой статье я представляю код VBA для транспонирования столбцов в строки и вставки новых строк для заполнения данных, как показано на скриншоте ниже. Если вас заинтересовала эта операция, перейдите ниже для получения дополнительной информации.
transpose columns to rows

Транспонирование и вставка строк с помощью VBA


arrow blue right bubble Транспонирование и вставка строк с помощью VBA

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

1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Щелкните Вставить > Модуль и вставьте следующий код VBA в окно Модуля. См. скриншот:

VBA: Транспонировать и вставить строки.

 Sub TransposeInsertRows()
'UpdatebyExtendoffice20161125
    Dim xRg As Range
    Dim i As Long, j As Long, k As Long
    Dim x As Long, y As Long
    Set xRg = Application.InputBox _
    (Prompt:="Range Selection...", _
    Title:="Kutools For Excel", Type:=8)
    Application.ScreenUpdating = False
    x = xRg(1, 1).Column + 2
    y = xRg(1, xRg.Columns.Count).Column
    For i = xRg(xRg.Rows.Count, 1).Row To xRg(1, 1).Row Step -1
        If Cells(i, x) <> "" And Cells(i, x + 1) <> "" Then
            k = Cells(i, x - 2).End(xlToRight).Column
            If k > y Then k = y
            For j = k To x + 1 Step -1
                Cells(i + 1, 1).EntireRow.Insert
                With Cells(i + 1, x - 2)
                    .Value = .Offset(-1, 0)
                    .Offset(0, 1) = .Offset(-1, 1)
                    .Offset(0, 2) = Cells(i, j)
                End With
                Cells(i, j).ClearContents
            Next j
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

 

copy and paste the vba code into the module

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

4. Нажмите OK. И выбранный диапазон будет преобразован, как показано на скриншоте ниже.
he selected range has been converted

Примечание: перед запуском кода рекомендуется сохранить копию исходных данных.

Совет. Если вы хотите быстро транспонировать двумерную таблицу в одномерную или наоборот, попробуйте использовать функцию Kutools для Excel «Преобразовать размер таблицы», как показано на следующем скриншоте. Полная функциональность без ограничений доступна в течение 30 дней. Пожалуйста, скачайте и попробуйте прямо сейчас.

transpose cross to list by kutools

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

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

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


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

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