在背景上从外部工作表刷新值

我有两个工作表,我需要从source.xlsm更新值(函数VLOOKUP)到update.xlsm ON背景由VBA(只手动刷新button与分配的macros – 我不想在Excel选项中使用更新button)。

我find了两个完成这个任务的代码,然而source.xlsm在任务完成时总是popup一会儿。 我希望完成这个任务,而不要在屏幕上显示源文件。

有任何想法吗?

Sub Read_External_Sheet() '''''Define Object for Target Workbook Dim Target_Workbook As Workbook Dim Source_Workbook As Workbook Dim Target_Path As String '''''Assign the Workbook File Name along with its Path '''''Change path of the Target File name Target_Path = "D:\Source.xlsm" Set Target_Workbook = Workbooks.Open(Target_Path) Set Source_Workbook = ThisWorkbook '''''With Target_Workbook object now, it is possible to pull any data from it '''''Read Data from Target File Target_Data = Target_Workbook.Sheets(1).Cells(1, 1) DoEvents Source_Workbook.Sheets(1).Cells(1, 1) = Target_Data DoEvents '''''Update Target File Source_data = Source_Workbook.Sheets(1).Cells(3, 1) DoEvents Target_Workbook.Sheets(1).Cells(2, 1) = Source_data DoEvents '''''Close Target Workbook Target_Workbook.Close False '''''Process Completed MsgBox "SHEET UPDATED" End Sub Sub Read_External_Sheet_2() Dim FName As Workbook With Application .EnableEvents = False Set FName = .Workbooks.Open("D:\Source.xlsm", False) mybook = FName.Name With FName .RefreshAll .Close True 'save file End With .EnableEvents = True End With msg = MsgBox(mybook & " Refreshed") End Sub