web-dev-qa-db-ja.com

数式をセルの範囲に設定する

これは、私がやりたいことの簡単なデモです。セルの範囲(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"

16
Vpp Man

C1の式を更新します。次に、C1から数式をコピーし、C10まで貼り付けます...

よりエレガントなソリューションがわからない

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

そのような単純な。

範囲を数式で自動入力(FillDown)します。

44
neilxdims

これは可能な限り簡単な答えだと思います:2行で非常にわかりやすい。セルに記述された数式をセル範囲全体にドラッグする機能をエミュレートします。

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

FormulaR1C1を使用します。

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

Formulaとは異なり、FormulaR1C1には相対参照があります。

7
user2626806

これを使って

            Sub calc()


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


            End Sub
1
Suyog Patil

列を埋めようとしている場合、Excel 2010で1つのキーボードコマンドを使用してこれを実行できます。

  1. 左上のセルの数式を設定します
  2. 範囲全体を選択
  3. Ctrl-dを押す

Ctrl-Dは、選択された行を塗りつぶすか、選択された配列または列を塗りつぶします。相対参照が適用されます。

0
Kelly Kochanski