在VBA宏中运行R函数

在VBA宏中运行R函数,r,vba,rexcel,R,Vba,Rexcel,我正在尝试从excel VBA宏运行R代码 R函数使用两个输入:DataFilter(Input1,Input2) 该函数执行一些筛选,然后在文件夹中保存一个新的excel文件 N:\DataFolder 请帮助创建一个VBA宏,该宏使用两个新文本输入(例如电子表格中sheet1的单元格A1和B1)运行DataFilter函数。 从那里,我将能够在vba宏中打开excel文件 谢谢大家! 您可以在VBA中运行R脚本,方法是创建Windows Shell obejct并向其传递执行R脚本的字符串

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

R函数使用两个输入:DataFilter(Input1,Input2) 该函数执行一些筛选,然后在文件夹中保存一个新的excel文件 N:\DataFolder

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


谢谢大家!

您可以在VBA中运行R脚本,方法是创建Windows Shell obejct并向其传递执行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
()


您可以将单元格值作为命令行参数传递给R脚本。有关更多信息,请参见
?命令参数。

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


再见!欢迎来到SO。首先,你应该了解如何提出一个好问题;一个好的问题更容易被解决,你也更容易得到帮助。另一方面,阅读也是一件好事。它解释了如何在R中创建一个可复制的示例。通过提供您的一段数据、所需的输出以及您已经尝试过的内容,帮助用户帮助您。您好@yeedle,我试图运行代码,将保存测试函数的C:\R\u code\hello.R替换为H:\apps\xp\Desktop\hello.R,但出现以下错误:对象“IWshShell3”的方法“run”失败。运行R时似乎出现了问题,知道吗?到“R.exe”和“RScript.exe”的路径需要在系统路径变量中。它是?