2015-05-27 12 views
0

Я создаю документ excel с SAS с использованием VBSCRIPT. Вот код, который работает:Использование формулы R1C1 в VBSCRIPT

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 это самый простой способ

спасибо за ваше время

+0

Мое предложение: положите формулу R1C1 в excel (временно переведите Excel в формат R1C1 в настройках) и получите это прямо там. – Joe

+0

См. [Этот вопрос/ответ] (http://stackoverflow.com/questions/13165938/what-is-the-function-of-formular1c1) для получения более подробной информации о том, как использовать это правильно, кстати. – Joe

ответ

0

в первую очередь ваша проблема R1C1 формулы использовать [] скобки

Таким образом, ваша формула, вероятно:

=SUM(R[-67]C:R[-4]C)-R[-3]C 
+0

Да, для получения ссылок. – Joe

+0

Что именно это Джо благодарю вас! – user1842455

+0

Но btw в Excel формула была только с "(" и ")", и Excel смог ее интерпретировать. – user1842455

Смежные вопросы