繁体   English   中英

Excel逗号数据行

[英]Excel comma data rows

我在Excel工作表中有很多数据用逗号分隔,需要转换为行。 数据如下所示:['C $','ADMIN $','WSTemp','磁盘#0,分区#0']

有14000个单元(数据用逗号分隔)要转换成行。 我正在使用Data-> text to column函数,然后反转/转置数据。 但是还有什么比这更快的呢? 谢谢

为此,您不一定需要VBA。 如果转到Excel中的“数据”选项卡,然后转到“数据工具”部分,则有一个选项称为“文本到列”。 单击该按钮,您可以告诉函数您希望将每行文本分割成什么。 在这种情况下,它将是“,”。 这是特定于Microsoft 2013的。我知道此功能存在于2010年,尽管它可能不被称为“文本到列”。 祝好运!

这在VBA中有效。

首先遍历源数据。

使用拆分,在单元格中构建一个项目数组,然后使用UBound获取该数组中项目的数量。 删除所有其他引号,因此您以后不必再使用。

已测试:

这是修改后的答案:V4

Sub CellSplitToRows()

Dim lastRow As Long
Dim tempVals() As String
Dim valCount As Integer
Dim i As Long
Dim newLast As Long
Dim lastSourceRow As Long

lastSourceRow = Sheets("Sheet1").Cells(Rows.Count, "AW").End(xlUp).row

For r = 2 To lastSourceRow
    For lCol = 49 To 55     'Columns AW to BC
        tempVals() = Split(Sheets("Sheet1").Cells(r, lCol).Text, ",")
        valCount = UBound(tempVals) + 1      '+1 for Array index 0
        i = 0
        lastRow = Sheets("Sheet1").Cells(Rows.Count, "BE").End(xlUp).row
        newLast = lastRow + valCount
        For lRow = (lastRow + 1) To newLast
            Sheets("Sheet1").Cells(lRow, "BE") = Replace(tempVals(i), "'", "") 'Remove Single Quotes
            i = i + 1
        Next lRow
    Next lCol
Next r
End Sub

V4

暂无
暂无

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

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