我是 VBA 宏的新手。我正在嘗試創建一個將“文本轉換為列”的代碼,將分號標識為分隔符。列中的資料具有 1 個值,其中 ; 作為中間的分隔符
實際資料

我希望宏將其轉換為文本以將分號后的資料列在下一列中,標題為 KPI
所需的輸出應如下圖所示
期望的輸出

是否有可能在文本到列之后,新列名應該是 KPI,如所需輸出中所示。請指導我嘗試使用以下代碼沒有任何問題。
Sub TextToCol1()
Dim ws As Worksheet
Set ws = ActiveWorkbook.Worksheets("Exp")
ws.Range("A1").End(xlUp).TextToColumns , Semicolon:=True
End Sub
uj5u.com熱心網友回復:
我想你可以試試:
Sub TextToCol()
Dim ws As Worksheet, lRow As Long
Set ws = ActiveWorkbook.Worksheets("Exp")
With ws
lRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range("A2:A" & lRow).TextToColumns Semicolon:=True
'.Range("A2:A" & lRow).TextToColumns ConsecutiveDelimiter:=True, Semicolon:=True, Space:=True 'Option 1
'.Range("A2:B" & lRow).Value = Application.Trim(.Range("A2:B" & lRow)) 'Option 2
.Cells(1, 2) = "KPI"
End With
End Sub
請注意,我添加了兩個可選行。這是因為我在執行代碼后注意到 A 列中的尾隨空格。為了迎合這一點,我選擇了分割空間并將這些單獨的分隔符視為一個!或者......你可以Trim()在整個范圍內并保持更簡單的TextToColumns()方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/413325.html
標籤:
上一篇:將dd/mm/yyyyhh:mm:ssam/pm轉換為yyyy/mm/ddhh:mm:ss
下一篇:VBA復制最后一行包含某些單詞
