|
Sub
計算()
Range("D8").Activate
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
End Sub
|
ActiveCell.FormulaR1C1
= "=SUM(R[-5]C:R[-1]C)"
アクティブなセルに "=SUM(R[-5]C:R[-1]C)"
を入力しなさい!
ってことですね。
ActiveCellプロパティとFormulaR1C1プロパティは以前にも触れましたね。⇒Go
問題は "=SUM(R[-5]C:R[-1]C)"
ですね。
SUMワークシート関数を使って、指定した範囲の数値の合計を求めます。
この範囲に出てくる R[-5]C:R[-1]C
について少し勉強しましょう。 |
まぁ〜簡単に言うとこのR1C1形式っていうのは
指定したセルから上下に何行移動して、左右に何列移動しなさい
って言うことです。
次の表を参考に理解して下さい。
セルの番地 |
A |
B |
C |
D |
E |
F |
1 |
ここです |
|
-3 |
|
|
↓Row行 |
2 |
|
|
-2 |
|
|
3 |
|
|
-1 |
|
|
4 |
-2 |
-1 |
0 |
1 |
2 |
5 |
|
|
1 |
|
|
6 |
|
|
2 |
|
|
7 |
→Column列 |
ここではC4を基準にR[-3]C[-2]を考えてみましょう。
R[-3]はRow(行)のRのことで、-3だから3行戻って1行目まで戻ります。
C[-2]はColumn(列)のCのことで、-2だから2列戻ってA列まで戻ります。。
よってR[-3]C[-2]は、C4から3行戻って2列戻ったセルでA1のことを指します。
またC4を基準にR[2]Cならどうでしょう?
R[2]なので2行進んで6行目
CはそのままだからC列のまま
R[2]CはC4から2行進んだセルでC6のことです。お分かり? |
ですからR[-5]C:R[-1]CはD3:D7と同じ意味になり
D3からD7の範囲ということになります。
そこをSUMワークシート関数で合計しなさいっていう命令になるんですね。
このR1C1形式を覚えるとすご〜く便利です。どうして便利かは後日どこかで。。。
分かれば計算のマクロの分析も簡単!簡単!楽勝!
お次は、消去のコードですよ! |
[トップ][前へ][マクロで計算のコード
/ マクロで消去のコード][次へ]
|