怎樣在VBA調用Vlookup函數


怎樣在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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM