按ID排在Excel上的行

时间:2018-12-04 14:09:35

标签: excel rows

早上好, 我想问一个关于excel的问题。我有这张桌子。我想通过保留id将行切换到列。在下面找到示例:

id  year    topic
1   2001    peras // manzanas   
2   2002    peras // manzanas   
3   2003    peras // manzanas // platano    
4   2004    peras // manzanas // platano    
5   2005    peras // manzanas // platano    
6   2006    peras // manzanas   

这是我想要实现的:

id  Col2
1 peras
1 manzanas
2 peras
2 manzanas
3 peras
3 manzanas
3 platano

我在论坛上检查了带有索引功能的其他示例,但没有用。 任何建议将非常欢迎! 最好

1 个答案:

答案 0 :(得分:0)

首先,您需要使用菜单“数据”->“文本到列”来拆分单元格“主题”。

然后选择没有标题的数据单元并使用以下宏:

Sub CopyFilledRows()
 On Error Resume Next
    new_row = 1
    Set Rng = Application.Selection
    With Sheets(2)
        For r = 1 To Rng.Rows.Count
            For c = 3 To Rng.Columns.Count
                If Rng.Cells(r, c) <> "" Then
                    .Cells(new_row, 1) = Rng.Cells(r, 1)
                    .Cells(new_row, 2) = Rng.Cells(r, c)
                    new_row = new_row + 1
                End If
            Next
        Next
    End With
End Sub

现在工作表2包含了您所需的内容。