自定義VBA函數(shù)實(shí)現(xiàn)一對(duì)多查找
VBA自定義函數(shù)可以幫助用戶在Excel中更高效地進(jìn)行數(shù)據(jù)處理和查找操作。其中,自定義NVLOOKUP函數(shù)能夠?qū)崿F(xiàn)一對(duì)多的查找功能,讓查找過(guò)程更簡(jiǎn)單易用,同時(shí)具有通用性。步驟一:打開(kāi)VBA編輯器首先,
VBA自定義函數(shù)可以幫助用戶在Excel中更高效地進(jìn)行數(shù)據(jù)處理和查找操作。其中,自定義NVLOOKUP函數(shù)能夠?qū)崿F(xiàn)一對(duì)多的查找功能,讓查找過(guò)程更簡(jiǎn)單易用,同時(shí)具有通用性。
步驟一:打開(kāi)VBA編輯器
首先,在Excel表格中打開(kāi)需要進(jìn)行一對(duì)多查找的工作表,接著通過(guò)鼠標(biāo)右擊工作表名稱,選擇“查看代碼”來(lái)打開(kāi)VBA編輯器。
步驟二:插入新模塊
在VBA編輯器中,使用鼠標(biāo)右鍵點(diǎn)擊左側(cè)項(xiàng)目窗口中的任意位置,選擇“插入” -> “模塊”,以便添加一個(gè)新的VBA模塊。
步驟三:粘貼自定義函數(shù)代碼
雙擊新插入的模塊,在代碼框中粘貼以下自定義函數(shù)代碼:
```vba
Function nvlookup(zhi As String, rng As Range, col As Integer, val As Integer)
'----自定義函數(shù)表達(dá)式:nvlookup(查找對(duì)象,查找范圍,列號(hào),精確查找)。精確查找的值填寫(xiě)0或其他任意數(shù)字即可
Dim i As Long
arr '設(shè)定數(shù)組arr為所選查找范圍的值
For i 1 To UBound(arr) '循環(huán)行
If arr(i, 1) zhi Then '判斷范圍內(nèi)的第一列是否等于查找值
n n 1 '用于下方使用
If n 1 Then '判斷第一個(gè)出現(xiàn)
mytxt arr(i, col) '符合第一次出現(xiàn)時(shí)顯示的結(jié)果形式
Else
mytxt mytxt ";" arr(i, col) '多個(gè)符合的結(jié)果,結(jié)果的顯示方式用分號(hào)“;”間隔
End If
End If
Next i
If Len(mytxt) > 1 Then
nvlookup mytxt 'mytxt查詢到結(jié)果,自定義函數(shù)返回結(jié)果為mytxt的值
Else
nvlookup "查找不到" '查詢不到結(jié)果,自定義函數(shù)返回“查找不到”
End If
End Function
```
使用自定義函數(shù)
完成以上步驟后,可以點(diǎn)擊左上角的Excel圖標(biāo)或右上角的關(guān)閉/最小化按鈕返回Excel操作界面。然后,在Excel中使用輸入自定義的函數(shù)`NVLOOKUP`,按要求完整填寫(xiě)公式并查找所需信息。
結(jié)果處理
當(dāng)查找完成后,如果不再需要繼續(xù)使用該函數(shù),建議先將結(jié)果復(fù)制,然后通過(guò)鼠標(biāo)右鍵選擇性粘貼為數(shù)值,最后移除已經(jīng)添加的VBA模塊,以保持文件整潔。