Как записать ячейки в строках друг под другом в столбцах?

Как записать ячейки в строках друг под другом в столбцах?

У меня есть список имен, компаний, телефонных номеров, адресов и электронной почты. Но каждое имя, которое работает в одной и той же компании, находится в одной и той же ячейке. Конечно, остальная информация этих имен, такая как телефонные номера, адреса и т. д., та же самая.

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

Скриншот с описанием проблемы

решение1

Сейчас я не нахожусь перед компьютером Windows с Excel, но считаю, что этот код должен создать новый рабочий лист и скопировать данные на новый лист, разделив имена на отдельные строки.

Sub CopyRowsAndSplitNames
  Dim srcSheet As Excel.Worksheet
  Set srcSheet = Excel.Application.Sheets("Sheet1") ' Change this to whatever your worksheet is called

  Dim dstSheet As Excel.Worksheet
  Set dstSheet = Excel.Application.Sheets.Add()

  srcSheet.Rows(1).Copy dstSheet.Rows(1)

  Dim dstRow as Integer
  dstRow = 1

  Dim strName As String
  Dim strNames As String()
  Dim srcRow as Integer
  For srcRow = 2 to srcSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    strNames = Split(srcSheet.Cells(row, 3).Value, ",")
    For Each strName in strNames
      dstRow = dstRow + 1
      srcSheet.Row(srcRow).Copy dstSheet.Row(dstRow)
      dstSheet.Cells(dstRow, 3).value = strName
    Next
  Next
End Sub

решение2

Я бы использовал для этого надстройку Power Query. Вы можете начать запрос из таблицы Excel.

Команда Split может быть использована для разделения столбца на основе разделителя (например, запятой). Затем я бы использовал команду Unpivot, чтобы превратить эти несколько столбцов в несколько строк с одним столбцом.

Связанный контент