Добрый день! Подскажите, пожалуйста, как протянуть формулу макросом до конца таблицы?
Код
Sub Макрос1()
ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]"
Range("W2").Select
Selection.AutoFill Destination:=Range("W2:W26712")
Range("W2:W26712").Select
End Sub
Записал макрос, а когда вставляю другую таблицу (больше или меньше по размерам), он либо перетягивает, либо не дотягивает формулу.
P.S. Мои первые шаги в макросонаписании, так что прошу простить за глупые вопросы.)
1. Код следует оформлять соответствующим тегом. Ищите такую кнопку и исправьте свой пост. 2. Зачем формула, если есть макрос? Вычисляйте всё в коде и заносите в ячейки уже результат.
1. Подскажите, пожалуйста, какой код вы имеете ввиду? На какой вкладке посмотреть эту кнопку? 2. Нужно сделать ряд операций с таблицей, таких как (добавить столбец, написать формулу, протянуть ее до конца таблицы, потом заменить на значения, добавить автофильтр и закрепить верхнюю строку), макрос записываю на все эти действия, но только тот момент что формулу протягивает на определенное количество ячеек, а не до конца таблицы мне не понятен.
1. Код, который Вы написали: Sub Макрос1() ... Где искать кнопку - я Вам показал на рисунке. И не нужно меня цитировать: я же обошёлся без цитаты понятно без неё?
Чтобы выделить всю таблицу независимо от размера используйте код: Range(selection, selection.end(xltoright)).select Range(selection, selection.end(xldown)).select
FIREguard, спасибо. Что-то не работает, или вы меня не правильно поняли. Мне нужно протянуть формулу с первой строки столбца вниз, до конца таблицы. А когда размер таблицы меняется, протягивание не происходит должным образом.
FIREguard, я вот сейчас ваш код попробовал вставить, уже в полный макрос все посчиталось как надо, но выдало ошибку.
"Метод AutoFill из класса Range завершен неверно".
Код
Sub Макрос1()
ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]"
Range("W2").Select
Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
End Sub