返回列表 上一主題 發帖

請問分割字串..

請問分割字串..

請問分割字串..要如何遇到逗號就分割字串呢?

每次的字串都是隨機的,例如:"TV,早餐,dinner,1235Apple"

分割為:"TV"、"早餐"、"dinner"、"12345Apple"

諸如此類..

本帖最後由 准提部林 於 2015-9-8 10:24 編輯

A1文字:TV,早餐,dinner,1235Apple
Sub TEST()
TT = Split([A1], ",")
[B1].Resize(, UBound(TT) + 1) = TT
End Sub

或:
TT = Split([A1] & ",", ",") '文字串多加一個逗號,可略過A1空白時的錯誤(不然就要以if去排除)
[B1].Resize(, UBound(TT)) = TT

TOP

我來試試!! 很感謝大大的回覆

TOP

回復 2# 准提部林

使用您附上的程式碼
  1. Sub TEST()
  2. TT = Split([A1], "/")
  3. [A2].Resize(, UBound(TT) + 1) = TT
  4. End Sub
複製代碼
若A1儲存格為:1111123/1111223/1111553/1111663
結果在A2呈現橫的:1111123         1111223        1111553        1111663 (再同一行)

若結果想要直的再同一欄
該怎麼修改呢?
結果想呈現
1111123
1111223
1111553
1111663

TOP

回復 4# Changbanana
[A2].Value = Replace([A1].Value, "/", Space(9))

TOP

回復 5# Kubi


謝謝你的熱心相助 但是沒有回答到問題耶~~

測試過後變成值都在同一個儲存格中

結果是需要再同一欄 也就是說A2:A5需呈現
1111123
1111223
1111553
1111663

TOP

回復 4# Changbanana
  1. Sub TEST()
  2. TT = Split([A1], "/")
  3. [A2].Resize(UBound(TT) + 1) = Application.Transpose(TT)
  4. End Sub
複製代碼
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 7# ML089


  WOW~
  原來轉置是這樣用
  之前一直把Application.Transpose打再最前面都一直出現錯誤
  謝謝你~問題解決了

TOP

回復 8# Changbanana

加在前面也可以
  1. Sub TEST1()
  2. TT = Application.Transpose(Split([A1], "/"))
  3. [A2].Resize(UBound(TT)) = TT
  4. End Sub
複製代碼
注意 UBound(TT) 取陣列維度大小
TT = Split([A1], "/") 是 (0 - 3) 陣列,取陣列維度大小需+1
TT = Application.Transpose(Split([A1], "/")) 是 (1 - 4, 1 - 1) 陣列,取陣列維度大小不用+1
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題