Board logo

標題: 如何用VBA取出關鍵字 [打印本頁]

作者: jsc0518    時間: 2017-2-18 19:28     標題: 如何用VBA取出關鍵字

本帖最後由 jsc0518 於 2017-2-18 19:29 編輯

各位先進,我有4個關鍵字-除權除息、發股息、漲、跌
要如何利用VBA的方式將A欄列的字串找出關鍵字,並於B欄列上秀出其關鍵字
畫面如下圖
再請各位先進指導


[attach]26680[/attach]
作者: VBALearner    時間: 2017-2-18 19:50

回復 1# jsc0518

If InStr([A1], "除權除息") Then [B1] = "除權除息"
作者: jsc0518    時間: 2017-2-18 20:25

回復 2# VBALearner


您好,我改了語法,但是出現錯誤

Sub InStr()

For i = 1 To [a65536].End(3).Row
If InStr([Ai], "除權除息") Then [Bi] = "除權除息"
If InStr([Ai], "發股息") Then [Bi] = "發股息"
If InStr([Ai], "漲") Then [Bi] = "漲"
If InStr([Ai], "跌") Then [Bi] = "跌"
Next

End Sub
作者: VBALearner    時間: 2017-2-18 23:01

[attach]26681[/attach]回復 3# jsc0518
作者: VBALearner    時間: 2017-2-18 23:18

回復 3# jsc0518
  1. Option Base 1
  2. Sub test()

  3.     Dim str
  4.     str = Array("除權除息", "漲", "跌", "發股息")
  5.    
  6.     For i = 1 To [A1].End(xlDown).Row
  7.         For j = 1 To UBound(str)
  8.             If InStr(Cells(i, 1), str(j)) Then Cells(i, j + 1) = str(j)
  9.         Next
  10.     Next

  11. End Sub
複製代碼
[attach]26682[/attach]
作者: jsc0518    時間: 2017-2-19 08:12

回復 5# VBALearner


這段語法也測試成功,但語法要改成找到關鍵字後,全部放在"B欄"下,我改語法後仍失敗
作者: VBALearner    時間: 2017-2-19 20:47

回復 6# jsc0518

只要改cells(列,欄)的欄為2就代表B欄,這非常基礎,網路多爬文
  1. Option Base 1
  2. Sub test()

  3.     Dim str
  4.     str = Array("除權除息", "漲", "跌", "發股息")
  5.    
  6.     For i = 1 To [A1].End(xlDown).Row
  7.         For j = 1 To UBound(str)
  8.             If InStr(Cells(i, 1), str(j)) Then Cells(i, 2) = Cells(i, 2) & str(j)
  9.         Next
  10.     Next

  11. End Sub
複製代碼

作者: jsc0518    時間: 2017-2-19 21:07

回復 7# VBALearner

Dear VBALearner,感謝您的指導
我知道了  If InStr(Cells(i, 1), str(j)) Then Cells(i, 2) = Cells(i, 2) & str(j) --> Cells (列,欄)的意思了
再次感謝您!




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