excel - 根据第一个单元格中的数字将单元格数据拆分到其他单元格中

时间:2014-01-22 11:36:08

标签: excel row cell

我在excel中有一个包含以下数据的单元格

108-0,109-1,110-0,111-2,112-0,113-192,114-87,115-100,116-80,117-60

我需要创建一个脚本或if语句,它可以将数据从单元格拆分到自己的单元格中。

与数据类似:

108-0将被放入单元格A108中,数据为0,109-1将被放入单元格A109中,数据为1.

如何实现?有什么提示我应该阅读的内容吗?

提前致谢

我忘了提到excel表应该自动执行。我正在导入这些100-1值中的数百个,因此它们应该自动放入自己的单元格中。

结果 - 这对我有用:

Sub tst()
Dim X As Variant
X = Split(Range("A1").Value, ",")
Range("A1").Resize(UBound(X) - LBound(X) + 1).Value = Application.Transpose(X)
End Sub

1 个答案:

答案 0 :(得分:1)

您可以使用UDF:

Function splitThem(r As Range, delimeter As String)
    splitThem = WorksheetFunction.Transpose(Split(r, delimeter))
End Function

只需选择A108:A117,在公式栏=splitThem(A1,",")中输入下一个公式,然后按 CTRL + SHIFT + ENTER 评估它

<强> UPD:

让您的值在A1:D1范围内,而不是使用:

Sub test()
    Dim c As Range
    Dim str As Variant
    On Error Resume Next
    For Each c In Range("A1:D1")
        c.Offset(1).Resize(UBound(str)) = WorksheetFunction.Transpose(Split(c, ","))
    Next
End Sub