Подтвердить что ты не робот

Установить формулу в диапазон ячеек

Это простая демонстрация того, что я хочу сделать. Я хочу установить формулу для диапазона ячеек (например, от C1 до C10).

Range("C1").Formula = "=A1+B1"

но как заставить динамические ячейки использовать формулу следующим образом:

Range("C1:C10").Formula = "=Ax+Bx"

поэтому на самом деле это похоже на

C1 = A1 + B1
C2 = A2 + B2
C3 = A3 + B3
C4 = A4 + B4
C5 = A5 + B5
...
C10 = A10 + B10

как изменить RHS этой формулы, чтобы сделать выше работу: Range("C1:C10").Formula = "=Ax+Bx"

4b9b3361

Ответ 1

Я бы обновил формулу в C1. Затем скопируйте формулу из C1 и вставьте ее до C10...

Не уверен насчет более элегантного решения

Range("C1").Formula = "=A1+B1"
Range("C1").Copy
Range("C1:C10").Pastespecial(XlPasteall)

Ответ 2

Range("C1:C10").Formula = "=A1+B1"

Просто как это.

Это автозаполнение (FillDown) диапазона с формулой.

Ответ 3

Использовать FormulaR1C1:

Cells((1,3),(10,3)).FormulaR1C1 = "=RC[-2]+RC[-1]"

В отличие от Формулы, FormulaR1C1 имеет относительную привязку.

Ответ 4

Я думаю, что это самый простой ответ: 2 строки и очень понятные. Он эмулирует функциональность перетаскивания формулы, написанной в ячейке, в диапазоне ячеек.

Range("C1").Formula = "=A1+B1"
Range("C1:C10").FillDown

Ответ 5

Если вы хотите заполнить столбец, вы можете сделать это в Excel 2010 с помощью одной команды клавиатуры:

  • Задайте формулу ячейки верхнего левого диапазона
  • Выберите весь диапазон
  • Нажмите Ctrl-d

Ctrl-D либо заполнит выбранную строку, либо заполнит выбранный массив или столбец. Относительная привязка применяется.

Ответ 6

Используйте этот

            Sub calc()


            Range("C1:C10").FormulaR1C1 = "=(R10C1+R10C2)"


            End Sub