在VBA宏中运行R函数

时间:2016-10-31 20:08:36

标签: r vba rexcel

我正在尝试从excel VBA宏运行R代码。

R函数使用两个输入:DataFilter(Input1,Input2) 该功能进行一些过滤,然后将新的Excel文件保存在该文件夹中 N:\ DataFolder

你能帮忙创建一个运行DataFilter函数的VBA宏,它有两个新的文本输入(比如说电子表格中sheet1的单元格A1和B1)。 从那里我将能够在vba宏中打开excel文件。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以通过创建Windows Shell obejct并向其传递执行R脚本的字符串来在VBA中运行R脚本

Sub RunRscript()
'runs an external R code through Shell
'The location of the RScript is 'C:\R_code'
'The script name is 'hello.R'

Dim shell As Object
Set shell = VBA.CreateObject("WScript.Shell")
Dim waitTillComplete As Boolean: waitTillComplete = True
Dim style As Integer: style = 1
Dim errorCode As Integer
Dim path As String
path = "RScript C:\R_code\hello.R"
errorCode = shell.Run(path, style, waitTillComplete)
End Sub

source

您可以将单元格值作为命令行参数传递给R脚本。有关详情,请参阅?commandArgs

答案 1 :(得分:0)

我不确定这是一个直接的答案。您可能希望了解如何使用Bert工具包完成它。这似乎有助于将R和Excel相互集成。

https://bert-toolkit.com/