2016-10-31 10 views
-3

ExcelのVBAマクロからRコードを実行しようとしています。VBAマクロでR関数を実行

R関数は、2つの入力を使用している:関数は、いくつかのフィルタリングを行い、そのフォルダ Nで新しいExcelファイルを保存しDataFilter(入力1、入力2) を:\ DataFolder

あなたはANを作成するには助けてください2つの新しいテキスト入力を持つDataFilter関数を実行するVBAマクロ(スプレッドシートのsheet1からセルA1とB1を指定できます)。 そこから、vbaマクロでExcelファイルを開くことができます。

ありがとうございました!

+0

チャオ!ようこそ。まず最初に、良い質問をする方法について[here](http://stackoverflow.com/help/how-to-ask)を読んでください。良い質問が解決される可能性が高く、助けを受けることができます。一方、[this](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)の読んだことも良いことです。 R.で再現可能なサンプルを作成する方法について説明します。データ、必要な出力、および既に試したことを提供することによって、ユーザーを支援します。 – SabDeM

答えて

1

あなたがコマンドとしてあなたのセルの値を渡すことができますWindowsシェルの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 

source

を実行し、文字列を渡すことで、VBAでRスクリプトを実行することができますRスクリプトへのライン引数。詳細については、?commandArgsを参照してください。

+0

こんにちは@yeedle、H:\ apps \ xp \ Desktop \ hello.RでC:\ R_code \ hello.Rを置き換えるコードを実行しようとしましたが、ここでテスト機能が保存されていますが、オブジェクト 'IWshShell3'のエラーが発生しました。これはRを実行する際の問題なのでしょうか? – lapioche75

+0

'R.exe'と 'RScript.exe'へのパスはシステムのPATH変数にある必要があります。それは...ですか? – yeedle

0

これは直接的な回答ではありませんか。 Bertツールキットを使用して、どのように処理されているかを調べることができます。これはRとExcelをお互いに統合する上で大いに役立つようです。

https://bert-toolkit.com/

関連する問題