小編致力于為大家奉獻最有效的經驗,讓大家能夠解決掉問題,但是大家也都知道,每個人遇到的情況都是不一樣的,大家在看小編經驗的同時,除了跟隨操作,也需要自己的思考,舉一反三的解決問題,這樣才會變得更加有內涵,成為和小編一樣的經驗達人。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
查找字符串首先我們得定義變量的類型,分別定義字符串變量和區域變量。其中result為我們需要查找所輸入的字符串,其的輸入由inputbox函數實現。
這里首先要對輸入結果進行判斷,如果是輸入的false值,或者是空值,那么直接退出過程。
接下來禁止屏幕元素自動更新和顯示錯誤信息,設置區域變量為整張表格, ActiveSheet.Range("A1").CurrentRegion記住這個函數就是選取全表格。設置一個字符串變量str1,“*”作為通配符需要用“”包括。因為是模糊查詢,所以不限定result的位置。
歷遍全表并對值進行判斷,like函數是比較函數,如果模糊匹配則更改單元格底色。恢復表格更新和消息報錯。我們可以看一下結果。
我在輸入框中輸入了鄧字,模糊匹配成功,則底紋顏色修改為綠色,此宏工作正常。
先寫到這里了,謝謝大家的觀看。
祝大家生活愉快。
小編還有許多其他的經驗可以觀看,如果無法解決問題可以聯系小編進行咨詢。
看不清楚圖片的可以點擊放大再看哦。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!