簡體   English   中英

無法使用其他工作簿中的Vlookup

[英]Trouble using Vlookup from another workbook

我打算做一些或多或少自動的工作,因為我想使用Excel VBA。 基本上我想要一個單獨的工作簿來從一些不同的工作簿中獲取數據。

為此,我嘗試過:

Dim openWb As Workbook
Dim openWs As Worksheet

Path = Dir("PathToFile\File.xlsx")
filepath = "PathToFile"

Set openWb = Workbooks.Open(filepath & Path)
Set openWs = openWb.Sheets("Sheet1")

currentwb.Sheets("Sheet2").Cells.(2, 20).Value = openWs.VLOOKUP("John",openWs.Range("A1:S30"), openWs.Match("Age", openWs.Range(A1:S1))

我想要實現的基本上是從對應於“John”的行和對應於“Age”的列中獲取值。 我使用匹配相當大的范圍(而不是只有一列),以避免其他人改變文件會導致任何問題的情況。

這給了我行上的語法錯誤:

Value = openWs.VLOOKUP("John",openWs.Range("A1:S30"), openWs.Match("Age", openWs.Range(A1:S1))

我假設它與如何在VLookUp參數中使用“openWs”等有關。 任何人都可以確定我認為錯在哪里?

我使用Path和filepath作為變量,因為程序后來每個月都有一個新的Path和一個新的文件路徑,這是我知道的最好的方法(基本上,路徑和文件路徑由月份名稱和年份名稱組成,我根據今天的日期進行了連接。

將Match和VLOOKUP前面的所有“openWs”替換為“Application”,使其顯示為:

Value = Application.VLOOKUP("John",openWs.Range("A1:S30"), Application.Match("Age", openWs.Range("A1:S1")))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM