2016-10-10 3 views
0

Первое сообщение здесь и очень новое в VBA.vba-средние подвижные элементы

Я ищу для создания макроса, который усредняет последние 4 ячейки в строке, но последняя ячейка всегда будет одна вправо, так как это будет новая неделя.

Попытка играть с End (xlright) и вот что я got- хотя, очевидно, ошибка где:

ActiveCell.FormulaR1C1 = "=AVERAGE(End(xlRight).Offset(-4):End(xlRight))"

Любая помощь на всех очень ценится.

Спасибо!

+2

'= СРЗНАЧ (ИНДЕКС (1: 1, MATCH (1Е + 99 , 1: 1) -3): INDEX (1: 1, MATCH (1E + 99,1: 1))) ' –

+0

Хорошо, так ли я не пойду в правильном направлении с логикой« конец »? – Isjacobe

+2

Вы смешиваете vba с формулами рабочих таблиц. Это не работает. –

ответ

0

В строке # 1, без VBA

=AVERAGE(OFFSET(A1,0,COUNT(1:1),1,0-5)) 

enter image description here

Так с VBA:

Sub dural() 
    MsgBox Evaluate("AVERAGE(OFFSET(A1,0,COUNT(1:1),1,0-5))") 
End Sub 
+0

Ученик Хэя Гэри - можете ли вы объяснить мне бит ширины? Смутно о диапазоне 0-5 и о том, как он возвращает последние 4 (что он определенно делает так спасибо!) Извиняюсь за мою новизну. – Isjacobe

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