Board logo

標題: 請問分割字串.. [打印本頁]

作者: EGBT    時間: 2015-9-8 08:55     標題: 請問分割字串..

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

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

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

諸如此類..
作者: 准提部林    時間: 2015-9-8 10:19

本帖最後由 准提部林 於 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
作者: EGBT    時間: 2015-9-8 11:14

我來試試!! 很感謝大大的回覆
作者: Changbanana    時間: 2016-11-8 16:19

回復 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
作者: Kubi    時間: 2016-11-8 16:43

回復 4# Changbanana
[A2].Value = Replace([A1].Value, "/", Space(9))
作者: Changbanana    時間: 2016-11-8 17:22

回復 5# Kubi


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

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

結果是需要再同一欄 也就是說A2:A5需呈現
1111123
1111223
1111553
1111663
作者: ML089    時間: 2016-11-8 17:32

回復 4# Changbanana
  1. Sub TEST()
  2. TT = Split([A1], "/")
  3. [A2].Resize(UBound(TT) + 1) = Application.Transpose(TT)
  4. End Sub
複製代碼

作者: Changbanana    時間: 2016-11-8 17:36

回復 7# ML089


  WOW~
  原來轉置是這樣用
  之前一直把Application.Transpose打再最前面都一直出現錯誤
  謝謝你~問題解決了
作者: ML089    時間: 2016-11-9 03:20

回復 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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)