我有一份姓名、公司、電話號碼、地址和電子郵件的清單。但在同一家公司工作的每個名字都在同一個牢房裡。當然,這些姓名的其他資訊如電話號碼、地址等都是相同的。
我想把每個名字寫在另一個名字下面,但我必須寫它的訊息側單元格。事實上,我的清單很長,今天無法完成。我不知道該怎麼辦。
答案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 命令將這些多列轉換為具有單列的多行。