2016-07-02 7 views
0

Я пытаюсь создать очень простой фрагмент кода, который в среднем составляет 600 значений на 60 значений, усредняя каждые 10 значений с помощью цикла For.VBA Excel FormulaR1C1 «Определенная заявка или объектная ошибка»?

Этот код выдает сообщение об ошибке «Определенное приложение или ошибка с определением объекта» где-то в формуле R1C1, и я не могу понять, почему, я полагаю, он имеет какое-то отношение к моим переменным. Кто-нибудь знает, как это сделать?

Sub Averaging10() 

Dim X As Double 
Dim Y As Double 
Dim Z As Double 

X = 5 
Y = 5 
Z = 0 

For X = 5 To 65 

Z = Y + 9 

    Cells(5, X).Select 
    ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-3], Z : RC[-3], Z])" 

Y = Y + 10 

Next 

End Sub 
+0

Теперь я вижу, у меня есть дополнительная квадратная скобка в конце. Все еще бросая ошибки, но я их исправлю. Извините, не обращайте внимания. – AggroCrag

+1

Либо вы пытаетесь смешать синтаксис R1C1 и A1, который вы не можете сделать, либо вы пытаетесь передать значение 'Z' в формулу, тогда как в настоящий момент вы фактически передаете буквенную строку« Z « –

+0

По счастливому совпадению сообщество [недавно обсуждало вопрос о срочности] (http://meta.stackoverflow.com/q/326569/472495) на вопросы - пожалуйста, прочитайте. – halfer

ответ

1

У вас есть дополнительный кронштейн. Попробуйте следующее:

Dim X As Double 
Dim Y As Double 
Dim Z As Double 

X = 5 
Y = 5 
Z = 0 

For X = 5 To 65 
    Z = Y + 9 
    Cells(5, X).Select 
    ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-3], Z : RC[-3], Z)" 
    Y = Y + 10 
Next 
Смежные вопросы