怎樣在VBA中調用Vlookup函數?
單個查找的實現##
這個在網上花點功夫是可以找到相關的內容的,以下是蘭色幻想-趙志東的excel精英培訓公眾號里介紹的方法:
在VBA中調用工作表函數,可以用下面的格式
Application.工作表函數名(參數...)
如工作表中的函數
C1=Vlookup(C1,A1:A100,2,0)
在VBA代碼中就可以這樣調用
Range("C1")=Application.vlookup(range("C1"),range("A1:A100"),2,0)
但是這種查找只適用於單個單元格,對於批量查找又是怎樣實現呢?
批量向下查找##
請參照下面的做法。
首先是數據源:
數據源.png
圖中B7用函數Vlookup表示
B7=vlookup (A7,A1:B3,2,0)
在VBA中怎樣改寫?
我開始的思路是把代碼中的Range中用Cells的形式來表示:
Dim i
For i=7 to 9 step 1
Cells(i,2)=application.vlookup(cells(i,1),(cells(1,1):cells(3,2)),2,0)
next i
但事實表示這種調用是無效的。最后也就是今天下午參加excel技能培訓的時候,突然靈光閃現,想到了辦法。具體的解決方法是保留查找區域range的表達式。修改后的代碼如下:
VBA代碼.png
這樣前面截圖上的點擊按鈕就可以實現批量查找了。其它的函數用蘭色幻想提到的“Application.工作表函數名(參數...)”應該也可以調用。下次有時間再測試一下。
以上就是我學習到的Vlookup函數在VBA中的運用。希望對大家有用。
作者:joyozou
鏈接:https://www.jianshu.com/p/40a4e4ca958b
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
