xlconnect R 包禁​​用 Excel 模板中的计算

xlconnect R package disables calculations in an Excel template

我正在尝试在 Excel 模板中写入来自 R 的原始数据,然后 运行 一个小的 VBA 宏将原始数据变成漂亮的东西 table。我使用 XLConnect。问题是 XLConnect 似乎禁用了 Excel worksheet.

中的计算

这是我的 R 代码,用于将我的数据帧写入 Excel:

VaR.dataframe = structure(list(names = c("VaR.montecarlo", "TVaR.montecarlo", "VaR.historic.1yr", "VaR.historic.2yr", "VaR.historic.3yr", "VaR.gaussian"), X95. = c(0.0363375421892311, 0.0507403479325009, 0.0402675195649073, 0.0400483852784169, 0.0357565527744698, 0.038409381028186), X97.5. = c(0.0473956950987274, 0.0598796459552848, 0.0528350062512669, 0.0483427549702983, 0.0432047576422228, 0.0488252950503447), X99. = c(0.0589594848085542, 0.0714812674589506, 0.06597791329211, 0.0596859927016254, 0.0544507369487263, 0.0609360460943547)), .Names = c("names", "X95.", "X97.5.", "X99."), class = "data.frame", row.names = c(NA, -6L))    
template_filename = "C:\Temp\my_template.xlsm"
writeWorksheetToFile(file = template_filename, data = VaR.dataframe, sheet = "VaR")

这进入了一个名为 VaR 的原始 sheet,我不会向客户展示它。我要向客户展示的东西看起来更像这样:

table 中的所有数字都是原始 VaR sheet 中的 VLOOKUP 公式。最后一步是 运行 一个小的 VBA 宏,它将在公式上复制粘贴特殊值,并删除看起来很糟糕的橙色行和列。

问题是 在 R 脚本更新我的 Excel 模板后,公式不起作用。即使我打开工作簿按F9计算,都是#N/A。在我通过 Ctrl-Alt-F9.

进行强制计算之前,这将保持不变

我的第一直觉是在我的 VBA 宏中强制使用 Ctrl-Alt-F9 组合键:

Call Application.SendKeys("^%{F9}")

但这似乎也行不通。

有谁知道如何在宏中强制计算?或者建议一个 Excel-writing R 包,它不会破坏我的传播sheet?

对于 Ctrl/Alt/F9 尝试 Application.CalculateFull