Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3417 / 13644 ツリー ←次へ | 前へ→

【62327】EXCELにおける行挿入時の自動計算について ぽん 09/7/9(木) 17:32 質問[未読]
【62328】Re:EXCELにおける行挿入時の自動計算につい... kanabun 09/7/9(木) 18:40 発言[未読]
【62371】Re:EXCELにおける行挿入時の自動計算につい... つるりん 09/7/14(火) 22:23 回答[未読]
【62372】Re:EXCELにおける行挿入時の自動計算につい... SS 09/7/15(水) 11:27 発言[未読]

【62327】EXCELにおける行挿入時の自動計算について
質問  ぽん  - 09/7/9(木) 17:32 -

引用なし
パスワード
   ご質問します。

今A1〜A10のセルに数値が含まれており、
A11にA1〜A10の合計が計算されるようになっています。

そこに、A11に新しく行を挿入し、数値を入れた場合に
A2〜A11までの合計を計算し、A12にその合計が入力されるように
したいのですが、どうすればよいでしょうか?

VBA初心者です。よろしくお願いいたします。

【62328】Re:EXCELにおける行挿入時の自動計算につ...
発言  kanabun  - 09/7/9(木) 18:40 -

引用なし
パスワード
   ▼ぽん さん:

>そこに、A11に新しく行を挿入し、数値を入れた場合に
>A2〜A11までの合計を計算し、A12にその合計が入力されるように
>したいのですが、どうすればよいでしょうか?
>
>VBA初心者です。

VBAの問題というより、数式の問題では?

数式は詳しくないのですが、範囲をOFFSETで指定したらどうでしょ?

[A11]  =SUM(OFFSET(A11,-10,,10))

【62371】Re:EXCELにおける行挿入時の自動計算につ...
回答  つるりん  - 09/7/14(火) 22:23 -

引用なし
パスワード
   合計欄の数式を以下でいいのでは。
=SUM(INDIRECT("a1:a"&ROW()-1))

【62372】Re:EXCELにおける行挿入時の自動計算につ...
発言  SS  - 09/7/15(水) 11:27 -

引用なし
パスワード
   ▼ぽん さん:
こんにちは、Function自身の所在を知る方法に興味があったので
こんなものを作ってみました。
行挿入だけでは再計算されないのであと一工夫必要ですね。
あと.ThisCell.Columnをとれば 列方向の変化にも対応できますね。

Function test01()
  Dim TCRow As Long
  With Application
    TCRow = .ThisCell.Row - 1
    If TCRow >= 10 Then
      test01 = .Sum(Range(Cells(TCRow - 9, 1), Cells(TCRow, 1)))
    Else
      test01 = .Sum(Range(Cells(1, 1), Cells(TCRow, 1)))
    End If
  End With
End Function


>ご質問します。
>
>今A1〜A10のセルに数値が含まれており、
>A11にA1〜A10の合計が計算されるようになっています。
>
>そこに、A11に新しく行を挿入し、数値を入れた場合に
>A2〜A11までの合計を計算し、A12にその合計が入力されるように
>したいのですが、どうすればよいでしょうか?
>
>VBA初心者です。よろしくお願いいたします。

3417 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free