在复制到下一个工作表之前,等待公式计算到finsh。 Excel VBA

我有一个复制列从一个到另一个问题。 在工作表的来源中,某些单元格与公式相结合,只有在打开工作簿时才计算。 正因为如此,结果我最终从一个工作簿复制到另一个是初始值。 我已经尝试了一些解决scheme,但它不能正常工作。

我的代码:

Application.Calculation = xlCalculationAutomatic Set wb = Application.Workbooks.Open(FilePath, ReadOnly:=True, UpdateLinks:=0) If Not Application.CalculationState = xlDone Then DoEvents End If wb.Sheets("Unified").Columns("A").Copy activeWB.Sheets("report").Range("A1") 

有关更多信息,这是源工作表中单元格的公式:

 "=VLOOKUP(B649,'filesystem'!$A:$N,14,FALSE)" 

我得到的结果是#REF!

你正在复制公式,而不是结果

 Set SourceRange = Intersect(wb.Sheets("Unified").Columns("A"), wb.Sheets("Unified").UsedRange) Set TargetRange = activeWB.Sheets("report").Range("A1").Resize(SourceRange.Rows.Count,1) TargetRange.Value = SourceRange.Value