我需要一个代码将特定数据从每日更新的Excel工作簿复制到我的主要Excel工作簿

时间:2017-03-03 22:27:21

标签: excel vba excel-vba

我有一个主要的excel工作簿(1),包含许多表但包含相同的列; productnumber ________名_______姓_______价

                                                     xxx

有另一个包含列的工作簿(2); productnumber ________城市_______公司_______价

我尝试了什么?

我在工作簿1中有10000个产品,在工作簿2中有500个产品,所以如果我通过查找其他工作表中的“productnumber”在(xxx)单元格上使用VLOOKUP函数,我会在某些单元格中出现“Na”错误由于每日更新的工作簿中缺少足够的产品编号(2)

第二个工作簿(2)每天都在更新,我只想将每日价格复制并粘贴到我的主要工作簿(1)和

最简单的方法是什么?我如何使用VBA来做到这一点?哪些代码可以帮到我?

谢谢

1 个答案:

答案 0 :(得分:0)

如果没有足够的有关对象名称的信息,请尝试将此工作代码调整为您的姓名:

Sub refreshPrices()
    Dim cel As Range, wbNewPrices As Workbook, v
    Set wbNewPrices = Workbooks.Open("C:\SO\newPrices.xlsm")
    For Each cel In ThisWorkbook.Sheets(1).Range("Table1[productnumber]")
        v = Application.VLookup(cel.value, wbNewPrices.Sheets(1).Range("Table1"), 4, 0)
        If Not IsError(v) Then cel.Offset(, 3).value = v
    Next
    wbNewPrices.Close False
End Sub