怎样把excel表格某行某个单元格内多项内容放入不同的行?

怎样把excel表格某行某个单元格内多项内容放入不同的行?

问题描述:

怎样把excel表格某行某个单元格内多项内容放入不同的行?
A B C
a 中 a1,a2,a3,
b 华 b1,b2
c 人 c1

图片说明

A B C
a 中 a1,a2,a3,
a1 中 a1,a2,a3,
a2 中 a1,a2,a3,
a3 中 a1,a2,a3,
b 华 b1,b2
b1 华 b1,b2
b2 华 b1,b2
c 人 c1
c1 人 c1

如果问题得到解决,请点我回答左上角的采纳。

Sub Macro1()
    desrow = 10
    For i = 1 To 4
        arr = Split(Range("C" & i), ",")
        For j = LBound(arr) To UBound(arr)
            Range("A" & desrow) = Range("A" & i)
            Range("B" & desrow) = Range("B" & i)
            Range("C" & desrow) = arr(j)
            desrow = desrow + 1
        Next
    Next
End Sub

图片说明

可对后面的数据进行分列,按照逗号进行分,这样每个数据就是一列。百度一下 excel分列 就知道。

需要操作的主要是C列。主要分两步。第一步是选中C列,然后进行分列,分列依据是逗号,这样就得到了不同的列;第二步是新建一张表,然后可以通过VBA宏代码进行实现,涉及两个循环语句。外循环是B列的行数-1(扣去了第一行),内循环是每一行的列数-2(扣去了A列和B列)。新表中,第一列就是由第一步分列得到的各个值;第二列是释义这一项,第三列是变形这一项。