http://www.asahi-net.or.jp/~zn3y-ngi/YNxv20.html
すぐに役立つエクセルVBAマクロ集 - Contents 開始終了- Excel VBA Macro Collection
セルの位置は、たとえば(1,2)の左側が行、右側が列です。
エクセルのシートの左上が(1,1)、その一つ下が(2,1)。
で、さきほどのマクロを好きな位置で使いたいときは、このようにiとjを好きな値を入れて使います。
-----ここから
i = 1
For j = 1 To 10
tmp = Cells(i, j)
tmp2 = Cells(i + 1, j)
Cells(i, j) = tmp + tmp2
Next
-----ここまで
上の例では、一行目の左から1〜10番目について、その下のセルの値を足して上書きしています。
エクセルのマクロについては、URLのところが詳しいです。
http://www.hatena.ne.jp/1054361193#
Excelで現在のセルと1つ下のセルの数字の合計を現在のセルに上書きする、という簡単なマクロはないでしょうか。 - 人力検索はてな
URLはダミーです。
↓このように、最初に変数に値を入れてしまってから、足し算して書き出せばいいと思います。ただし、失敗してやりなおしたくなっても、すでに書き換えられていることに注意です。
tmp = Cells(1, 1)
tmp2 = Cells(2, 1)
Cells(1, 1) = tmp + tmp2
Sub cellplus()
Dim adderess_buff As String
Dim value_buff As Long
adderess_buff = ActiveCell.Address
value_buff = ActiveCell.Value
Range(adderess_buff).Offset(1).Select
value_buff = value_buff + CLng(ActiveCell.Value)
Range(adderess_buff).Select
ActiveCell.Value = value_buff
End Sub
簡単に作ってみました。
エラー処理は入れていません。
ばっちり動きました。完璧です。
ありがとうございました!
何もわかっていないので初歩的な質問で申し訳ないんですが、
Cells(1, 1) というのは座標を絶対参照しているのではないでしょうか。カーソル位置のセルの値はどうやって取得すればいいんでしょうか?