在 VBSCRIPT 中使用 R1C1 公式
Using R1C1 formula in VBSCRIPT
我使用 VBSCRIPT 使用 SAS 创建了一个 excel 文档。这是有效的代码:
filename vbscript "&fich_trim..vbs";
DATA _NULL_;
FILE vbscript;
PUT "Dim Exc, Classeur";
put "Dim Col";
PUT "Set Exc = CreateObject(""Excel.Application"")";
PUT "Exc.Visible = False";
PUT "Set Classeur = Exc.Workbooks.Open (""&FICH_trim..XML"")";
do i = 4 to (&nb_ins.*2) by 2;
put 'Classeur.Worksheets(1).Cells(73,' i ').formula = "=SUM(D6:D69)-D70"';
*put 'Classeur.Worksheets(1).Cells(73,' i ').formulaR1C1 = "=SUM(R(-67)C:R(-4)C)-R(-3)C"';
end;
PUT "Classeur.Saveas (""&fich_trim..xls""),1";
PUT "Exc.Quit";
RUN;
option noxwait xsync;
%SYSEXEC "&fich_trim..VBS";
%sysexec del "&fich_trim..vbs";
%sysexec del "&fich_trim..xml";
我的主要问题是循环语句。正如您在我的循环中看到的那样,我在评论中有一行我试图使用 R1C1 公式而不是 excel 公式的标准形式。当我使用 R1C1 行时,它给我一个错误。我更愿意使用 R1C1 标准,因为在我的循环中我想轻松指定“(SUM((D+i)6:(D+i)69)”,但我真的不知道如何轻松地做到这一点,所以我想证明 R1C1 标准是最简单的方法。
感谢您的宝贵时间!
主要是您的问题是 R1C1 公式使用 [ ] 括号。
那么,你的公式大概是:
=SUM(R[-67]C:R[-4]C)-R[-3]C
我使用 VBSCRIPT 使用 SAS 创建了一个 excel 文档。这是有效的代码:
filename vbscript "&fich_trim..vbs";
DATA _NULL_;
FILE vbscript;
PUT "Dim Exc, Classeur";
put "Dim Col";
PUT "Set Exc = CreateObject(""Excel.Application"")";
PUT "Exc.Visible = False";
PUT "Set Classeur = Exc.Workbooks.Open (""&FICH_trim..XML"")";
do i = 4 to (&nb_ins.*2) by 2;
put 'Classeur.Worksheets(1).Cells(73,' i ').formula = "=SUM(D6:D69)-D70"';
*put 'Classeur.Worksheets(1).Cells(73,' i ').formulaR1C1 = "=SUM(R(-67)C:R(-4)C)-R(-3)C"';
end;
PUT "Classeur.Saveas (""&fich_trim..xls""),1";
PUT "Exc.Quit";
RUN;
option noxwait xsync;
%SYSEXEC "&fich_trim..VBS";
%sysexec del "&fich_trim..vbs";
%sysexec del "&fich_trim..xml";
我的主要问题是循环语句。正如您在我的循环中看到的那样,我在评论中有一行我试图使用 R1C1 公式而不是 excel 公式的标准形式。当我使用 R1C1 行时,它给我一个错误。我更愿意使用 R1C1 标准,因为在我的循环中我想轻松指定“(SUM((D+i)6:(D+i)69)”,但我真的不知道如何轻松地做到这一点,所以我想证明 R1C1 标准是最简单的方法。
感谢您的宝贵时间!
主要是您的问题是 R1C1 公式使用 [ ] 括号。
那么,你的公式大概是:
=SUM(R[-67]C:R[-4]C)-R[-3]C