如何将单元格按行和列依次排列?

如何将单元格按行和列依次排列?

我有一份姓名、公司、电话号码、地址和电子邮件的列表。但在同一家公司工作的每个名字都在同一个单元格中。当然,这些名字的其他信息(如电话号码、地址等)都是相同的。

我想把每个名字写在另一个名字下面,但我必须在它的侧边栏写下它的信息。实际上,我的名单很长,我今天无法完成它。我不知道该怎么做。

描述问题的屏幕截图

答案1

我现在不在装有 Excel 的 Windows 计算机前,但我相信此代码应该创建一个新的工作表,并将数据复制到新工作表中,将名称分成单独的行。

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 命令将这多个列转换为具有单个列的多个行。

相关内容