如何与VBA中的R交互?

时间:2015-06-28 10:23:17

标签: r vba

假设我在Excel中有VBA宏进行一些计算。我想在R中进行此计算的一部分,但是在程序模式下。比如,在某些时刻,Excel宏有一个向量,它需要通过R中的平均函数找到它的平均值。如何从VBA调用R,将向量传送到R,在R中启动计算并在VBA中返回结果?感谢。

1 个答案:

答案 0 :(得分:4)

有一个插件RExcel,但我发现使用它非常可怕(你有点必须付钱)。

执行互动的最简单,最通用但最常用的方式如下:

1)将csv中的数组/矩阵/向量保存在文件夹

2)将您的R代码写入读取csv的文件中并将结果写入csv

3)使用VBA Shell函数(Rscript scriptName.R)从VBA调用R脚本

4)将结果导回excel / VBA。

此方法的优点是您可以将计算逻辑与VBA中的格式分开。

您也可以使用R中的-e选项直接在VBA中调用R代码,但这是强烈未经修改的。

希望它有所帮助!

BTW:它适用于所有其他程序(Python / LaTeX / Matlab)。