[英]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.