繁体   English   中英

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

[英]excel - Splitting cell data into other cells based on a number in the first 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放入数据为0的单元格A108中,并将109-1放入数据为1的单元格A109中。

那将如何实现? 有什么提示我应该读些什么?

提前致谢

我忘了提到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

您可以使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM