macros将数据从一本书拉到另一本书

当我运行macros,出现提示“编译错误:types不匹配”,我不知道如果Application.index是正确的。 你认为macros观问题是什么? 谢谢。

Sub IndexMatch() Application.ScreenUpdating = False Dim A As Workbook Dim B As Workbook Dim Aa As Worksheet Dim Bb As Worksheet Dim SearchThis As Range Dim LookAtE As Range Dim LookAtG As Range Dim LookAtQ As Range Set A = ThisWorkbook Set B = "Tables.xlsm" Set Aa = A.Sheets("Sheet24") Set Bb = B.Sheets("Sheet1") Set SearchThis = Aa.Range("A2") Set LookAtE = Bb.Range("E") Set LookAtG = Bb.Range("G") Set LookAtQ = Bb.Range("Q") Workbooks.Open ("C:\Users\admin\Documents\Tables.xlsm") ThisWorkbook.Activate Aa.Range("A4").Value = Application.Index(LookAtG, Match(SearchThis, LookAtE)) Aa.Range("A5").Value = Application.Index(LookAtQ, Match(SearchThis, LookAtE)) Workbooks("Tables.xlsm").Close SaveChanges:=True Application.ScreenUpdating = True End Sub 

尝试像这样设置它:

 Set B = Workbooks("Tables.xlsm") 

这应该工作,如果另一个表也是打开的。


如果未打开,请尝试以下操作:

 Set B = Workbooks.Open("C:\...\Tables.xlsm") 
 Sub IndexMatch() Application.ScreenUpdating = False Workbooks.Open ("C:\Users\admin\Documents\Tables.xlsm") ThisWorkbook.Activate Dim A As Workbook Dim B As Workbook Dim Aa As Worksheet Dim Bb As Worksheet Dim SearchThis As Range Dim LookAtE As Range Dim LookAtG As Range Dim LookAtQ As Range Set A = Workbooks("PT9.xlsm") Set B = Workbooks("Tables.xlsm") Set Aa = A.Worksheets("Sheet2") Set Bb = B.Worksheets("Documents") Set SearchThis = Aa.Range("A2") Set LookAtE = Bb.Range("E:E") Set LookAtG = Bb.Range("G:G") Set LookAtQ = Bb.Range("Q:Q") Aa.Range("A4").Value = Application.Index(LookAtG, WorksheetFunction.Match(SearchThis, LookAtE)) Aa.Range("A5").Value = Application.Index(LookAtQ, WorksheetFunction.Match(SearchThis, LookAtE)) Workbooks("Tables.xlsm").Close SaveChanges:=True Application.ScreenUpdating = True End Sub