Excel VBA質問箱 IV

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

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


51698 / 76732 ←次へ | 前へ→

【29896】Re:行数が決まっていない列の合計を計算するには?
発言  Kein  - 05/10/15(土) 17:51 -

引用なし
パスワード
   んーと・・何と説明してよいか・・。
例えば現在、S列の最終入力行が 10 であったとしてます。
このとき、S10 には既に =SUBTOTAL(R1C:R9C) という列の合計をする式が
入っているとします。つまり S1:S9 の範囲は =SUM で始まる数式ですね。
当然、その数式が参照している範囲は、Q1:Q9 と R1:R9 になっているはずです。
そしてあなたが書いたマクロ↓を実行したとき、仮に Q11 まで値が入力されて
いたとすると

Sub MySUM()
  Range("Q1", Range("Q65536").End(xlUp)).Offset(, 2) _
  .FormulaR1C1 = "=SUM(RC[-3]-RC[-1])"
End Sub

によって、S1:S11 の範囲に =SUM で始まる式が入りますよね ?
そーしたら当然、先にあった S10 の SUBTOTAL の式は上書きされて消えてしまい、
S列の最終入力行は 11 になり、そこには =SUM で始まる式があるのだから
私の提示した Sub MyTotal() を実行すると

IF Left$(.Formula, 4) = "=SUM" Then

の判定は"真"となって、新たな SUBTOTAL の数式を入力できるわけです。
念の為付け加えておくと、もし Q列の最終入力行が 8 に減ってしまったときは、
あなたのマクロを実行した後も、当然 S列には変化がなく、従って Sub MyTotal()
を実行しても何も起きないのです。「常にデータが増えていく」ということを
前提にしているためです。万が一、データが減ることが予想されるなら、あなたの
マクロは

Sub MySUM()
  Columns(19).ClearContents
  Range("Q1", Range("Q65536").End(xlUp)).Offset(, 2) _
  .FormulaR1C1 = "=SUM(RC[-3]-RC[-1])"
End Sub

というように、"いったんS列をクリアしてから" 数式を入力するように、変更しない
といけません。

1 hits

【29877】行数が決まっていない列の合計を計算するには? hi-lite 05/10/15(土) 12:30 質問
【29878】Re:行数が決まっていない列の合計を計算す... かみちゃん 05/10/15(土) 12:42 回答
【29879】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 13:02 お礼
【29880】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 13:10 質問
【29881】Re:行数が決まっていない列の合計を計算す... かみちゃん 05/10/15(土) 13:16 回答
【29882】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 13:32 質問
【29884】Re:行数が決まっていない列の合計を計算す... かみちゃん 05/10/15(土) 13:47 回答
【29886】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 15:38 質問
【29889】Re:行数が決まっていない列の合計を計算す... かみちゃん 05/10/15(土) 16:01 回答
【29892】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 16:20 お礼
【29885】Re:行数が決まっていない列の合計を計算す... Kein 05/10/15(土) 15:23 回答
【29888】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 15:56 お礼
【29890】Re:行数が決まっていない列の合計を計算す... かみちゃん 05/10/15(土) 16:06 発言
【29893】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 16:42 お礼
【29891】Re:行数が決まっていない列の合計を計算す... Kein 05/10/15(土) 16:19 発言
【29895】Re:行数が決まっていない列の合計を計算す... hi-lite 05/10/15(土) 17:00 お礼
【29896】Re:行数が決まっていない列の合計を計算す... Kein 05/10/15(土) 17:51 発言

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