作者bchoice (choice)
看板Visual_Basic
標題[VBA ] 模糊搜尋
時間Tue May 26 17:03:31 2020
各位前輩大家好
只要某欄位有特定文字
就刪除一整列
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://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1590483813.A.8C3.html
1F:推 napyang: 可以用Instr來做判斷,細節google一下你就懂啦! 05/26 22:52
2F:推 fumizuki: If Cells(r, c).Value Like "*辦公室*" Then 05/29 21:32
3F:推 Simonfenix: InStr很夠用了 除非你這三個字會拆開 06/07 14:16
4F:→ laechan: 我很少看人用 Cells, Instr 就好了 06/13 16:42
5F:推 profyang: VBA有regular expression吧? 06/15 08:56
6F:→ MOONRAKER: 實在是太幽默了 07/05 00:54
7F:→ MOONRAKER: (1)VBA的regex就是二樓板主寫的LIKE operator 07/05 00:55
8F:→ MOONRAKER: (2)「很少用cells用instr就好了」真是太好笑了 07/05 00:55
9F:→ MOONRAKER: 請你寫一下你的instr要怎麼寫 怎麼比較某個格位的值 07/05 00:56
10F:→ MOONRAKER: 跟「我很少看人買紙杯,都是買豆漿就好」差不多幽默 07/05 00:58
11F:推 waiter337: instr find like 這三個都能用 用法都不同 07/15 00:50
12F:→ waiter337: 需要找範例來看 07/15 00:50
13F:→ waiter337: 依照你迴圈要用的話 建議用instr配合>0判斷 07/15 00:52
14F:→ waiter337: 但反而是刪除的方式要考慮,如果超過20個,不建議這樣做 07/15 00:54
15F:→ waiter337: 會刪很久 可以關鍵字 union delete vba 07/15 00:54