Excelで現在のセルと1つ下のセルの数字の合計を現在のセルに上書きする、という簡単なマクロはないでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2003/05/31 15:06:33
  • 終了:--

回答(3件)

id:lamer2 No.1

lamer2回答回数143ベストアンサー獲得回数02003/05/31 15:46:38

ポイント10pt

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のところが詳しいです。

id:lamer2 No.2

lamer2回答回数143ベストアンサー獲得回数02003/05/31 15:25:29

ポイント5pt

http://www.hatena.ne.jp/1054361193#

Excelで現在のセルと1つ下のセルの数字の合計を現在のセルに上書きする、という簡単なマクロはないでしょうか。 - 人力検索はてな

URLはダミーです。

↓このように、最初に変数に値を入れてしまってから、足し算して書き出せばいいと思います。ただし、失敗してやりなおしたくなっても、すでに書き換えられていることに注意です。

tmp = Cells(1, 1)

tmp2 = Cells(2, 1)

Cells(1, 1) = tmp + tmp2

id:waf

何もわかっていないので初歩的な質問で申し訳ないんですが、

Cells(1, 1) というのは座標を絶対参照しているのではないでしょうか。カーソル位置のセルの値はどうやって取得すればいいんでしょうか?

2003/05/31 15:39:44
id:charcoal No.3

charcoal回答回数70ベストアンサー獲得回数02003/05/31 15:45:00

ポイント45pt

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

簡単に作ってみました。

エラー処理は入れていません。

id:waf

ばっちり動きました。完璧です。

ありがとうございました!

2003/05/31 16:11:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません