'選択範囲にSUM関数を入力(A1形式) Selection.Formula = "=SUM(A1:B1)"
'選択範囲にSUM関数を入力(R1C1形式) Selection.FormulaR1C1 = "=SUM(RC[-3]:RC[-2])"
セルに数式を入力するには「Formula(A1形式)」または「FormulaR1C1(R1C1形式)」のどちらかを使用します
実際の動きを確認してください
例コードでは、単一のセルではなく選択範囲にまとめて入力しています
これはアクティブセルにコードの関数を入力した後に「Ctrl+Enter」で一括入力した時と同じ動きになります
この関数は同じ行のA列とB列の数値を加算してるだけなので、結果の数値を見てもらうとちゃんと引数のセルアドレスの行方向が更新されていることが分かります
これは1つ入力して、オートフィルをしても同じ結果になります
A1形式とR1C1形式について
例コード2つの使い分けに関しては、括弧書きにあるように引数のセル範囲をどちらの形式で表現するかの違いです
どちらを使用しても結果は同じなので慣れているほうを使ってください
A1形式とはExcelの標準のワークシートの表現方法で、1番左上のセルを「A1」として表現する形式で、絶対参照です
これは人間にやさしい設計で編み出されていますので、アドレスから位置関係がイメージしやすくなっています
また、セルアドレスに「$」を付与すればちゃんとワークシート上の絶対参照になるので必要であれば付与してください
対してR1C1形式は行と列の両方を数値で表現しますので、A1形式でいう「A1」は「1,1」(Rが行数値、Cが列数値)という表現になる形式です
「A2」なら「2,1」になります、行列の位置が逆転します
例コードの「RC[-3]:RC[-2]」は選択範囲の3列左~2列左という指定になるため、こちらは相対参照になります
これはコンピューターにやさしい設計です、数値で全てを処理するコンピューターはA列というものを1列目と認識するために、「A=1」と置き換えてから列数をはじき出すのでA1形式はすこしわずらわしいみたいですよ、きっと
実際処理速度に多少の差はある(R1C1形式が優位)ようですが、まあ気にする程ではないのでやはり慣れたほうを使うのがいいです
ただ、行も列も共に数値で扱うことの出来るR1C1形式はループ処理に非常に向いているので少しは使ってみて慣れておいて損は無いです
A1形式は人間にやさしいので言わずもがなですね