excel将单元格值分成行

时间:2016-11-28 06:17:20

标签: excel vba

我有一个excel问题,我不确定它是否可以解决。

我想更改此excel格式

enter image description here

采用以下格式:

enter image description here

可能的?

特里

3 个答案:

答案 0 :(得分:0)

首先选择C2单元格并转到数据选项卡 text to columns

所以复制所有单元格并粘贴特殊如下: paste special ... transpose

答案 1 :(得分:0)

你可以用这个

Sub main()
    Dim users As Variant

    users = Split(Replace(Range("C2"), " ", ""), ",")
    Range("A2:B2").Resize(UBound(users) + 1).Value = Range("A2:B2").Value
    Range("C2").Resize(UBound(users) + 1).Value = Application.Transpose(users)
End Sub

答案 2 :(得分:0)

这是可能的。 如果您不想手动执行它们,则必须使用VBA。

第一步:使用text to columns分隔C列中的值

 Columns("C:C").Select
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
    :=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True

第二步:将其粘贴到另一张纸上但转置它

    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True

第三步:将A列和B列复制到新工作表中,并在C

中的所有条目上重复

涉及两个循环,一个循环遍历c:c中的每个条目,另一个循环粘贴A和B,直到所有C填入新工作表。

如果您不熟悉VBA,您可以随时录制宏并尝试将其设置为动态,以便根据您的数据调整范围和循环。

如果您的数据不是那么大,而您不想使用VBA 您可以签出Split String和Transpose功能。

Split String

Transpose