[VBA ] 擷取字串中特定文字前,符號內的文字

看板Visual_Basic作者 (伊芙莉)時間7年前 (2017/06/01 12:09), 編輯推噓0(009)
留言9則, 1人參與, 最新討論串1/1
請教版上的大大, 如何將每欄字串中,dog字串前的[]括號內值取出並使用,分隔 字串值如下: 字串 (欄位A) 擷取後(欄位B) [3695] doghouse    3695 [4] 23e [cde] dog 96wqq [99] dog asqqd [Hello] dog966 cde,99,Hello 6wqedqqeqw [Hello] dog96364 Hello 有試過使用 Find、Mid等函數,但因為資料變化比較大, 實在是不知道要怎麼應用......或是如何用VBA撰寫程式碼...? 先謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.25.106.23 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1496290154.A.3E5.html

06/02 10:07, , 1F
(1)用空白切開
06/02 10:07, 1F

06/02 10:08, , 2F
(2)逐個檢查前後是否為[]
06/02 10:08, 2F

06/02 10:08, , 3F
(3)如果是 檢查後一個子字串是否為dog開頭
06/02 10:08, 3F

06/02 10:09, , 4F
(4)如果是 把[]包含的子字串取出來 放入另外陣列s
06/02 10:09, 4F

06/02 10:10, , 5F
(5)讀取新一列時把s用',' join起來輸出 並清空s
06/02 10:10, 5F

06/02 10:11, , 6F
(6)重覆直到輸入處理完 檢查s內有沒有資料 有的話一樣
06/02 10:11, 6F

06/02 10:11, , 7F
用',' join輸出
06/02 10:11, 7F

06/02 10:12, , 8F
1用split() 2就用left() right()土炮一下 3用mid很簡單
06/02 10:12, 8F

06/02 10:13, , 9F
4也是mid 5清空陣列可以用redim 6不用講了
06/02 10:13, 9F
文章代碼(AID): #1PBvDgFb (Visual_Basic)
文章代碼(AID): #1PBvDgFb (Visual_Basic)