Excel VBA小程式 -使 用VBA實現VLOOKUP函式查詢?
表格內容:
A列 | B列 | C列 | D列 | E列 | F列 |
---|---|---|---|---|---|
姓名 | 出生日期 | 年齡 | 姓名 | 年齡 | |
楊春海 | 1987-6-22 | 33 | 許文武 | ||
趙春雨 | 1980-9-17 | 39 | 劉永江 | ||
李美橋 | 1998-4-12 | 22 | |||
劉永江 | 1992-3-17 | 28 | |||
許文武 | 1987-4-13 | 33 | |||
劉景瑞 | 1994-7-27 | 26 |
如果用VLOOKUP函式解決:
=IFERROR(VLOOKUP(A11,A$1:C$7,3,0),"")
如果使用VBA程式碼解決:
Sub DctFind()
Dim d As Object, arr, brr, i&
Set d = CreateObject("scripting.dictionary")
d.CompareMode = vbTextCompare
'-----------------------------------------------------------------------------------------------------------------------------------
'裝入: 資料來源裝入陣列arr, 查詢區域資料裝入陣列brr,遍歷陣列arr,UBound(arr)表示陣列arr的最大行號。將學號作為key,姓名作為item裝入字典
arr = [a1:c7]
brr = [e1:f5]
For i = 1 To UBound(arr)
d(arr(i, 1)) = arr(i, 3)
Next
'-----------------------------------------------------------------------------------------------------------------------------------
'遍歷:標題行不用查詢,從第二行開始遍歷查詢數值brr,如果字典中存在考號,根據考號從字典中取值。如果字典中不存在相關考號,則值返回為空
For i = 2 To UBound(brr)
If d.exists(brr(i, 1)) Then
brr(i, 2) = d(brr(i, 1))
Else
brr(i, 2) = ""
End If
Next
'-----------------------------------------------------------------------------------------------------------------------------------
'寫入:設定文字格式,避免某些文字數值變形,結果陣列寫入單元格區域,釋放字典
With [e1:f5]
.NumberFormat = "@"
.Value = brr
End With
MsgBox "查詢完成。"
Set d = Nothing
' '-----------------------------------------------------------------------------------------------------------------------------------
End Sub
小貼士:
1>該段程式碼區分字母大小寫,即A和a作為查詢值時,並不相等。如果需要不區分字母大小寫,解除程式碼中下面語句的註釋塊。
d.CompareMode vbTextCompare
相關文章
- VBA中使用EXCEL工作表函式Excel函式
- Excel vba自定義函式公式智慧提示Excel函式公式
- Excel VBA活動抽獎小程式Excel
- VBA 自定義常用函式 (備用)函式
- 用 (Excel) VBA 讀取 OneNote!Excel
- Vlookup大叔與一對多查詢(Excel函式集團)Excel函式
- FIN2020 Excel and VBAExcel
- excel妙用之VLOOKUP函式Excel函式
- Python與Excel VBA比較PythonExcel
- 簡單演示Excel中VBA程式碼的使用Excel
- 自從學會了VBA字典,VLOOKUP都不那麼香了
- Excel VBA 利用FileSystemObject處理檔案ExcelObject
- 征服Excel VBA:讓你工作效率倍增的239個實用技巧Excel
- VLOOKUP 函式函式
- VBA遍歷 Excel 合併到一個 Excel 檔案Excel
- 二分查詢(函式實現)函式
- c++字串查詢函式實現C++字串函式
- VBA驅動SAP GUI自動化:查詢頁面元素FindAllByNameGUI
- Python基礎之openpyxl如何實現vlookup函式Python函式
- VBA 知識
- 在Excel VBA中使用SQL到底優勢在哪兒ExcelSQL
- Excel vba 例項(1) - 批量製作工資表頭Excel
- 初識vLookup函式函式
- 在Excel VBA中寫SQL,是一種什麼體驗ExcelSQL
- VBA命令按鈕操作
- VBA驅動SAP GUI實現辦公自動化(一)GUI
- VBA 控制元件學習筆記(下拉選單實現)控制元件筆記
- Excel表格中圖片怎麼固定在單元格里(VBA方法)Excel
- 【VBA】行全體と列全體を取得【Range、Rows、Columnsを使う】
- Excel資料庫轉MySQL,實現查詢Excel資料庫MySql
- VBA突擊01-012
- Solr複雜查詢一:函式查詢Solr函式
- 【VBA】形式を選択して貼り付ける方法【PasteSpecialを使う】AST
- 【VBA】最終行を取得する方法3選【CurrentRegion、End、Findを使う】
- Python實現天氣查詢功能(外加Excel技巧)PythonExcel
- 【VBA】複數のセル範囲を取得【RangeとUnionを使います】
- 用Promise實現小程式介面鏈式呼叫Promise
- PostgreSQL 查詢替換函式SQL函式