excel中使用vba完成模糊查詢功能
工具/原料
excel2013
更多經驗請關注,如果幫到了你,請在上方給個投票謝謝支援。 好人一生平安。
先頂後看年薪百萬,如果幫到了你,幫忙給個好評,這對小編很重要,萬分感謝。
方法/步驟
首先我們開啟一個工作樣表作為例子。
進入vba編輯器,插入一個新的模組,並在模組編輯器中輸入以下程式碼:
Sub 模糊查詢()
Dim result As String, str1 As String
Dim c As Range, rng As Range
result = Application.InputBox(prompt:="請輸入要查詢的值:", _
Title:="模糊查詢", Type:=2)
If result = "False" Or result = "" Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set rng = ActiveSheet.Range("A1").CurrentRegion
str1 = "*" & result & "*"
For Each c In rng.Cells
If c.Value Like str1 Then
c.Interior.ColorIndex = 4
End If
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
查詢字串首先我們得定義變數的型別,分別定義字串變數和區域變數。其中result為我們需要查詢所輸入的字串,其的輸入由inputbox函式實現。
這裡首先要對輸入結果進行判斷,如果是輸入的false值,或者是空值,那麼直接退出過程。
接下來禁止螢幕元素自動更新和顯示錯誤資訊,設定區域變數為整張表格, ActiveSheet.Range("A1").CurrentRegion記住這個函式就是選取全表格。設定一個字串變數str1,“*”作為萬用字元需要用“”包括。因為是模糊查詢,所以不限定result的位置。
歷遍全表並對值進行判斷,like函式是比較函式,如果模糊匹配則更改單元格底色。恢復表格更新和訊息報錯。我們可以看一下結果。
我在輸入框中輸入了鄧字,模糊匹配成功,則底紋顏色修改為綠色,此巨集工作正常。
注意事項
謝謝你的投票。