2017-04-10 6 views
1

Rからの生データをExcelテンプレートに書き込もうとしましたが、少しのVBAマクロを実行して生データを素敵なものに変えました。私はXLConnectを使用します。問題は、XLConnectがExcelワークシートの計算を無効にしているように見えることです。xlconnect RパッケージはExcelテンプレートでの計算を無効にします

ここに私の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と呼ばれる原反になります。

enter image description here

表中の数値はすべて生のVaRのシートにVLOOKUPの数式です:私はクライアントに表示されるでしょう事はもっとこのようになります。最後のステップは、VBAマクロを実行して、数式に特殊値をコピーして貼り付け、オレンジ色の行と列を削除します。

問題はです.RスクリプトがExcelテンプレートを更新した後、数式が機能しません。ワークブックを開いて計算するためにF9を押しても、すべて#N/Aです。私がCtrl-Alt-F9に行くことによって強制的に計算するまで、これは真実に留まります。

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

しかし、これはどちらか、動作していないよう:

私の最初の本能は私のVBAマクロ内Ctrl-Alt-F9キーの組み合わせを強制することでした。

誰でも計算をマクロに強制する方法は知っていますか?または、スプレッドシートを壊さないExcel書込みのRパッケージを提案しますか?

答えて

1

Ctrl/Alt/F9を試すApplication.CalculateFull

関連する問題