excel中使用vba完成模糊查詢功能?

Tags: 功能, excel,

excel中使用vba完成模糊查詢功能

excel中使用vba完成模糊查詢功能

工具/原料

excel2013

更多經驗請關注,如果幫到了你,請在上方給個投票謝謝支援。 好人一生平安。

先頂後看年薪百萬,如果幫到了你,幫忙給個好評,這對小編很重要,萬分感謝。

方法/步驟

首先我們開啟一個工作樣表作為例子。

excel中使用vba完成模糊查詢功能

進入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

excel中使用vba完成模糊查詢功能

查詢字串首先我們得定義變數的型別,分別定義字串變數和區域變數。其中result為我們需要查詢所輸入的字串,其的輸入由inputbox函式實現。

excel中使用vba完成模糊查詢功能

這裡首先要對輸入結果進行判斷,如果是輸入的false值,或者是空值,那麼直接退出過程。

excel中使用vba完成模糊查詢功能

接下來禁止螢幕元素自動更新和顯示錯誤資訊,設定區域變數為整張表格, ActiveSheet.Range("A1").CurrentRegion記住這個函式就是選取全表格。設定一個字串變數str1,“*”作為萬用字元需要用“”包括。因為是模糊查詢,所以不限定result的位置。

excel中使用vba完成模糊查詢功能

歷遍全表並對值進行判斷,like函式是比較函式,如果模糊匹配則更改單元格底色。恢復表格更新和訊息報錯。我們可以看一下結果。

excel中使用vba完成模糊查詢功能

我在輸入框中輸入了鄧字,模糊匹配成功,則底紋顏色修改為綠色,此巨集工作正常。

excel中使用vba完成模糊查詢功能

注意事項

謝謝你的投票。

功能, excel,
相關問題答案