Board logo

標題: [發問] 擷取符合條件的字串文字 [打印本頁]

作者: loyyee    時間: 2011-11-23 22:17     標題: 擷取符合條件的字串文字

本帖最後由 loyyee 於 2011-11-24 22:28 編輯

請問各位大大,如何由檔案中"A欄"字串中,擷取符合條件的字串文字於"B~D欄"
[attach]8610[/attach]
作者: register313    時間: 2011-11-23 23:52

回復 1# loyyee
作者: loyyee    時間: 2011-11-24 00:23     標題: 擷取符合條件的字串文字

回復 2# register313

可以用了,感謝您~
作者: GBKEE    時間: 2011-11-24 08:09

回復 2# register313
簡化一下
  1. Sub Ex()
  2. Dim R As Range
  3. Range("B2:D500").ClearContents
  4. For Each R In Range("a2:a500")
  5.     If InStr(R, "OO") And InStr(R, "PP") Then
  6.         R.Offset(0, 3).Value = "OO+PP"
  7.     ElseIf InStr(R, "OO") Then
  8.         R.Offset(0, 1).Value = "OO"
  9.     ElseIf InStr(R, "PP") Then
  10.         R.Offset(0, 2).Value = "PP"
  11.     End If
  12. Next
  13. End Sub
複製代碼

作者: register313    時間: 2011-11-24 08:36

回復 4# GBKEE


    感謝版大
   小弟只會VBA的簡單語法 每次程式碼總是寫很長
   學會更多語法 可讓程式碼易於閱讀也節省時間
   希望還有機會讓版大指導
作者: loyyee    時間: 2011-11-24 22:34

回復 4# GBKEE

感謝版大與register313熱心解答。

再延伸問題:如果"A欄"、"B欄"有二個不同字串,
要在"E欄"擷取符合條件的字串文字時,該如何修改巨集?
[attach]8621[/attach]
作者: register313    時間: 2011-11-24 23:48

回復 6# loyyee


    倏改GBKEE版大之"擷取符合條件的字串"程式而來
作者: loyyee    時間: 2011-11-25 00:09

回復 7# register313

感謝,給您一個讚啦!
作者: GBKEE    時間: 2011-11-25 08:29

本帖最後由 GBKEE 於 2011-11-25 08:31 編輯

回復 7# register313
另一寫法
  1. Sub Ex()
  2.     Dim AR, R As Range, S , E
  3.     Range("E2:E500").ClearContents
  4.     AR = Split(Mid(Replace([E1], "之製程", ""), 2), "、")
  5.     For Each R In Range("A2:A500")
  6.         S = Split(R & "," & R.Offset(0, 1), ",")
  7.         For Each E In S
  8.             If Not IsError(Application.Match(E, AR, 0)) Then
  9.                 R.Offset(0, 4) = R.Offset(0, 4) & IIf(R.Offset(0, 4) = "", "", "+") & E
  10.             End If
  11.         Next
  12.     Next
  13. End Sub
複製代碼

作者: register313    時間: 2011-11-25 09:17

回復 9# GBKEE


    感謝GBKEE版大
   這次使用了Split Mid Replace Match...函數




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