如何將行中的儲存格寫在列中的下一個儲存格中?

如何將行中的儲存格寫在列中的下一個儲存格中?

我有一份姓名、公司、電話號碼、地址和電子郵件的清單。但在同一家公司工作的每個名字都在同一個牢房裡。當然,這些姓名的其他資訊如電話號碼、地址等都是相同的。

我想把每個名字寫在另一個名字下面,但我必須寫它的訊息側單元格。事實上,我的清單很長,今天無法完成。我不知道該怎麼辦。

描述問題的螢幕截圖

答案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 命令將這些多列轉換為具有單列的多行。

相關內容