为了一键进行所有的数据分析,可以联合MATLAB和VBA编程。
VBA中调用MATLAB程序。
Sub VBA中启动matlab()
fileToRun = "D:\Desktop\matlab学习\excle_matlab.m"
matlabCommand = "d:\Program Files\MATLAB\MATLAB Production Server\R2015a\bin\matlab -nodisplay -nosplash -nodesktop -r "" run(\'" & fileToRun & "\');exit;"" "
Shell (matlabCommand)
End Sub
其中excle_matlab.m文件中写入了两句简单的代码。
负责数据导入,必要是进行计算,再导出。
% excle_matlab.m data=xlsread(\'data.xlsx\',\'b2:c20\'); xlswrite(\'data1.xlsx\',data,1,\'E1\')
下面这一句能够打开matlab命令窗口
% 1 启动命令窗口
MatLab = "d:\Program Files\MATLAB\MATLAB Production Server\R2015a\bin\matlab -nodisplay -nosplash -nodesktop -r " Shell (MatLab)
切换电脑时,matlab的安装路径和版本可能不同。
可以考虑替换描述路径的字符串替代上面这一句。
但是,怎么用MatLab替换掉下面这一句run前面的部分,还没想好。
matlabCommand = "d:\Program Files\MATLAB\MATLAB Production Server\R2015a\bin\matlab -nodisplay -nosplash -nodesktop -r "" run(\'" & fileToRun & "\');exit;"" "
另外,在VBA启动matlab程序,而不是单独的命令窗口,用下面这一句
MatLab = "d:\Program Files\MATLAB\MATLAB Production Server\R2015a\bin\matlab.exe " Shell (MatLab)