根据列数据,Excel一行到多行

时间:2016-09-08 06:16:01

标签: excel

我有一个超过10k行的Excel文件,看起来像是

ID | DATA1 | DATA2

1 |文字| 13; 15; 16

2 | Text2 | 13; 12

我需要使用分隔符来扩展DATA2字段中的数字&#34 ;;"到新行:

ID | DATA1 | DATA2

1 |文| 13

1 |文| 15

1 |文| 16

2 |文本2 | 13

2 |文本2 | 12

是否可以使用Excel进行操作?

1 个答案:

答案 0 :(得分:1)

你可以用VBA做到这一点。在MS Excel中打开宏并插入此代码。

Sub todo()
 lRow = Cells(Rows.Count, 1).End(xlUp).Row
 rowNum = lRow
   For r = 1 To lRow
    symbolCounter = UBound(Split(Cells(r, 3).value, ";")) + 1
    textVal = Split(Cells(r, 3).value, ";")
      For c = 1 To symbolCounter
        rowNum = rowNum + 1
        Cells(rowNum, 1).value = Cells(r, 1).value
        Cells(rowNum, 2).value = Cells(r, 2).value
        Cells(rowNum, 3).value = textVal(c - 1)
      Next c
   Next r
End Sub

应该工作。我查了一下。