将多个excel列合并到一个两列文件中
我有一个excel文件,其中包含以下格式的多列:将多个excel列合并到一个两列文件中,excel,excel-formula,Excel,Excel Formula,我有一个excel文件,其中包含以下格式的多列: name_1 name_2 name_3 name_1 name_4 name_5 name_6 这表示name_1与name_2和name_3合作,name_2与name_3合作,等等 因此,我需要创建一个新的excel文件,该文件将包含所有协作,例如 name_1 name_2 name_1 name_3 name_2 name_3 name_1 name_4 name_1 name_5 name_1 na
name_1 name_2 name_3
name_1 name_4 name_5 name_6
这表示name_1与name_2和name_3合作,name_2与name_3合作,等等
因此,我需要创建一个新的excel文件,该文件将包含所有协作,例如
name_1 name_2
name_1 name_3
name_2 name_3
name_1 name_4
name_1 name_5
name_1 name_6
name_4 name_5
name_4 name_6
name_5 name_6
有什么方法可以做到这一点吗?您需要VBA才能做到这一点 如果你的数据是这样的 试试下面的代码
Sub splitTable()
Dim i As Long, j As Long, k As Long, x As Long
Sheets.Add.Name = "newSheet"
k = 1
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To Cells(i, Columns.Count).End(xlToLeft).Column
For j = x To Cells(i, Columns.Count).End(xlToLeft).Column
Sheets("newSheet").Cells(k, 1) = Cells(i, x - 1)
Sheets("newSheet").Cells(k, 2) = Cells(i, j)
k = k + 1
Next j
Next x
Next i
End Sub
代码创建一个新的工作表并打印格式化的输出
是否创建文件副本???对不起,我可能误解了你的要求。@temelina那很好。请将我的答案标记为正确,以结束此问题。你可以在我答案的左边看到