2017-04-12 69 views
0

我想寫一些宏從另一個excel表格基於當前表格中的值檢索一些數據。基於使用宏的鍵從Excel表格中檢索值Excel VBA

現在我的當前工作表(Sheet1)具有此屬性「地址」,我想將其映射到另一個工作表(Sheet2),該工作表也具有相同的「地址」屬性。我想根據兩張表中的相同地址檢索表2中的另一個單元格值「道路名稱」。

我的代碼行看起來是這樣的:

Sheets("Sheet1").Cells(row, 9).Value = ?? 

任何人有任何想法,如果有在Excel VBA中,這是否任何內置的功能呢?

+1

你需要VBA嗎?從我所看到的,'vlookup()'可能工作?你的數據是什麼樣的,你期望會發生什麼? – BruceWayne

+0

我想自動填寫表3,其中包含道路名稱,地址。有很多行,所以我想自動化過程。 – decemberrobot

+0

您可能想要發佈樣本數據 - 電子表格圖片或其他內容 - 您還嘗試了什麼vba? – 0m3r

回答

1

正如所建議的,VLookup可能是最好的解決方案。如果您不想在每次輸入新的「地址」時在工作表中輸入公式,則可以通過以下兩種方式之一在VBA中使用VLookup

首先,你可以寫一個公式到Excel,以便Excel執行VLOOKUP

Sheets("Sheet1").Cells(row, 9).FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!C1:C2,2,FALSE)" 

其次,你可以使用Application.VLookup功能,使VBA不同VLookup和值寫入單元格:

Sheets("Sheet1").Cells(row, 9).Value = Application.VLookup(Sheets("Sheet1").Cells(row, 8).Value, _ 
                  Sheets("Sheet2").Range("A:B"),2,False) 

注:在這兩種情況下,我認爲「地址」是在「工作表Sheet1」 H列,而「地址」和「道路名稱」在「Sheet2」的A:B欄中。