我在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
答案 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