[VBA ] 模糊搜尋

看板Visual_Basic作者 (choice)時間4年前 (2020/05/26 17:03), 編輯推噓5(5010)
留言15則, 7人參與, 4年前最新討論串1/1
各位前輩大家好 只要某欄位有特定文字 就刪除一整列 Public Sub DelRowUnknow() For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1 For c = 1 To ActiveSheet.Columns.Count If Cells(r, c).Value = "辦公室" Then Rows(r).EntireRow.Delete Exit For End If Next Next End Sub 他好像要100%符合"辦公室"這三個字才會刪除整列 但我的欄位有時候"辦公室"前後有些文字 我用"*辦公室*" 就沒辦法刪除 有沒有辦法....欄位只要有辦公室三個字 就刪除該列 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.69.82.192 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1590483813.A.8C3.html

05/26 22:52, 4年前 , 1F
可以用Instr來做判斷,細節google一下你就懂啦!
05/26 22:52, 1F

05/29 21:32, 4年前 , 2F
If Cells(r, c).Value Like "*辦公室*" Then
05/29 21:32, 2F

06/07 14:16, 4年前 , 3F
InStr很夠用了 除非你這三個字會拆開
06/07 14:16, 3F

06/13 16:42, 4年前 , 4F
我很少看人用 Cells, Instr 就好了
06/13 16:42, 4F

06/15 08:56, 4年前 , 5F
VBA有regular expression吧?
06/15 08:56, 5F

07/05 00:54, 4年前 , 6F
實在是太幽默了
07/05 00:54, 6F

07/05 00:55, 4年前 , 7F
(1)VBA的regex就是二樓板主寫的LIKE operator
07/05 00:55, 7F

07/05 00:55, 4年前 , 8F
(2)「很少用cells用instr就好了」真是太好笑了
07/05 00:55, 8F

07/05 00:56, 4年前 , 9F
請你寫一下你的instr要怎麼寫 怎麼比較某個格位的值
07/05 00:56, 9F

07/05 00:58, 4年前 , 10F
跟「我很少看人買紙杯,都是買豆漿就好」差不多幽默
07/05 00:58, 10F

07/15 00:50, 4年前 , 11F
instr find like 這三個都能用 用法都不同
07/15 00:50, 11F

07/15 00:50, 4年前 , 12F
需要找範例來看
07/15 00:50, 12F

07/15 00:52, 4年前 , 13F
依照你迴圈要用的話 建議用instr配合>0判斷
07/15 00:52, 13F

07/15 00:54, 4年前 , 14F
但反而是刪除的方式要考慮,如果超過20個,不建議這樣做
07/15 00:54, 14F

07/15 00:54, 4年前 , 15F
會刪很久 可以關鍵字 union delete vba
07/15 00:54, 15F
文章代碼(AID): #1UpDjbZ3 (Visual_Basic)
文章代碼(AID): #1UpDjbZ3 (Visual_Basic)