[英]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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.