VBA宏特殊粘贴#VALUE!而不是公式的基础值

问题描述 投票:0回答:1

当尝试将工作表的内容粘贴到另一个工作簿中时,直到我选择在剪贴板弹出窗口中保留大量信息的选项后,公式才会更新。

我尝试了 application.disablealerts 并再次复制来解决它,但它仍然只复制“#VALUE!”作为文本而不是公式的值,甚至不是公式本身。我尝试过各种pastespecials,但在每种情况下它都只是复制“#Value!”。

Workbooks.Open Filename:=(xxxxxx), Password:="xxxxx"
Sheets("xxxxx").Activate

'Attempt to have formulas work
ActiveSheet.EnableCalculation = True 
ActiveSheet.Calculate

Cells.Select
Selection.Copy


Windows("xxxx").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

复制之前要更新的公式以及粘贴时要继承计算值的公式。

excel vba copy clipboard
1个回答
0
投票

所以问题是 Excel FactSet FDS API。

打开工作簿并运行以下代码。确保 Excel 项目引用 FactSet Office API 类型库、FactSet Office API 类型库(使用 FDSW32.EXE)和 Factset Office API 类型库已启用:

将 FDSAPI 调暗为新的 FactSet_API Dim varResult 作为变体 单元格选择 varResult = FDSAPI.RunApplication("OfficeAPI", "application=excel,method=RefreshSelectedEqualsFDS") 计算

这将在复制和粘贴之前提取所有值。它似乎将数据存储在excel之外,并在所有进程运行后自动导入。

© www.soinside.com 2019 - 2024. All rights reserved.