提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如何將逗號分隔的文本字符串轉換為Excel中的列表或行?

doc將逗號值轉換為1列表

假設您有一個由逗號分隔的單元格值列表,現在需要將這些逗號分隔的文本字符串轉換為多行或一列,如下面的屏幕截圖所示。 在Excel中如何根據逗號分隔符將多個單元格值拆分為多行?

將逗號分隔的文本字符串轉換為具有VBA代碼的行

將逗號分隔的文本字符串轉換為包含Kutools for Excel的行


將逗號分隔的文本字符串轉換為具有VBA代碼的行


以下VBA代碼可以幫助您將多個以逗號分隔的單元格值轉換為列,請按照以下步驟操作:

1。 按住 Alt + F11鍵 在Excel中的鍵,它打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,並將下面的宏粘貼到 模塊 窗口。

VBA代碼:將逗號分隔的文本字符串轉換為行或列表

Sub RedistributeCommaDelimitedData()
'Updateby Extendoffice 2015924
    Dim xArr() As String
    Dim xAddress As String
    Dim Rg As Range
    Dim Rg1 As Range
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)
    If Rg Is Nothing Then Exit Sub
    Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)
    If Rg Is Nothing Then Exit Sub
    Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
    If Rg1 Is Nothing Then Exit Sub
    xArr = Split(Join(Application.Transpose(Rg.Value), ","), ",")
    Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)
    Rg1.Parent.Activate
    Rg1.Resize(UBound(xArr) + 1).Select
End Sub

3。 然後按 F5 鍵運行此代碼,在彈出的對話框中,選擇要轉換的數據范圍,請參閱截圖:

doc將逗號值轉換為2列表

4。 並點擊 OK,在下面的對話框中,指定要輸出結果的單元格,請參閱截圖:

doc將逗號值轉換為3列表

5。 點擊 OK 按鈕,選定的逗號分隔的單元格值已被轉換為行列表。 看截圖:

doc將逗號值轉換為4列表


將逗號分隔的文本字符串轉換為包含Kutools for Excel的行

如果你有 Kutools for Excel,其 拆分單元格 實用程序,您可以根據需要快速根據逗號分隔符將逗號分隔的單元格值拆分為多行或多列。

Kutools for Excel : 與超過300方便的Excel加載項,在60天免費試用沒有限制.

安裝後 Kutools for Excel請按以下步驟操作:

1。 根據逗號分隔符選擇要轉換為行的單元格值。

2。 然後點擊 Kutools > 文本 > 拆分單元格,看截圖:

doc將逗號值轉換為5 5列表

3。 在 拆分單元格 對話框中選擇 拆分為行 選項下 類型 部分,然後從 指定一個分隔符 部分,檢查 其他 複選框,然後在文本框中輸入逗號,查看截圖:

doc將逗號值轉換為6 6列表

4。 然後點擊 Ok,另一個對話框將彈出提醒您選擇一個單元格放置結果,請參見截圖:

doc將逗號值轉換為7列表

5。 然後點擊 Ok 按鈕,逗號分隔的單元格將根據逗號分隔符分成多行,請參見截圖:

doc將逗號值轉換為8列表

點擊了解更多關於此拆分單元格的功能...

立即下載並免費試用Kutools for Excel!


演示:使用Kutools for Excel將逗號分隔的文本字符串轉換為行

Kutools for Excel:比200方便的Excel加載項,可以在60天免費試用。 下載並免費試用現在!


相關文章:

如何通過回車將單元格拆分成多個列或行?

如何在Excel中將單元格值拆分為多個列?


Kutools for Excel - 最佳辦公生產力工具提高80%的生產力

  • 重用: 快速插入 複雜的公式,圖表 以及你以前用過的任何東西; 加密單元格 密碼; 創建郵件列表 並發送電子郵件...
  • 超級方程式酒吧 (輕鬆編輯多行文字和公式); 閱讀佈局 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不丟失數據; 分裂細胞含量; 組合重複的行/列...防止重複的細胞; 比較範圍...
  • 選擇複製或唯一 行; 選擇空行 (所有細胞都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇......
  • 精確複製 多個單元格而不更改公式參考; 自動創建參考 多張表; 插入項目符號,複選框等等......
  • 提取文本,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級過濾器 (將過濾方案保存並應用到其他工作表); 高級排序 按月/週/日,頻率等; 特殊過濾器 用粗體,斜體......
  • 結合工作簿和工作表; 根據鍵列合併表; 將數據拆分為多個表格; 批量轉換xls,xlsx和PDF...
  • 超過300強大的功能。 支持Office / Excel 2007-2019和365。 支持所有語言。 在您的企業或組織中輕鬆部署。 全功能60天免費試用。
kte tab 201905

Office選項卡為Office提供選項卡式界面,使您的工作更輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    eviakhan · 2 years ago
    update to work for a single input cell (mentioned by Sid posted before me). Probably a way to do this for both scenarios, but this worked for me, I had the same issue.

    Sub RedistributeCommaDelimitedData_singleCell()

    'Updateby Extendoffice 201592

    Dim xArr() As String

    Dim xAddress As String

    Dim Rg As Range

    Dim Rg1 As Range

    On Error Resume Next

    xAddress = Application.ActiveWindow.RangeSelection.Address

    Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)

    If Rg Is Nothing Then Exit Sub

    Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)

    If Rg Is Nothing Then Exit Sub

    Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)

    If Rg1 Is Nothing Then Exit Sub



    ' xArr = Split(Join(Application.Transpose(Rg.value), ","), ",") -------- need this if you have multiple input cells in your input range (Rg)

    ' replace with this for single input cell for Rg:

    xArr = Split(Rg.value, ",")

    Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)

    Rg1.Parent.Activate

    Rg1.Resize(UBound(xArr) + 1).Select



    End Sub
  • To post as a guest, your comment is unpublished.
    Sid · 2 years ago
    Hi,
    I have a single row but this formula do not work for single row while it works for multiple rows could you guide on that would be a great help
    Thanks