首页 文章

等到公式计算完成后再复制到下一个工作表 . Excel VBA

提问于
浏览
1

我有一个问题,将列从一张纸复制到另一张 . 在工作表的源代码中,某些单元格与公式集成,这些公式仅在打开工作簿时计算 . 因此,我最终从一个工作簿复制到另一个工作簿的结果是初始值 . 我已经尝试了一些解决方案,但它无法正常工作 .

我的代码:

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!

1 回答

  • 1

    您正在复制公式,而不是结果 . 尝试

    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
    

相关问题