Excel VBA質問箱 IV

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

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


11031 / 13646 ツリー ←次へ | 前へ→

【18523】マクロで縦計算のやり方 takenokotaro 04/9/28(火) 19:05 質問[未読]
【18524】Re:マクロで縦計算のやり方 ichinose 04/9/28(火) 19:33 回答[未読]
【18566】Re:マクロで縦計算のやり方 takenoko 04/9/29(水) 21:15 質問[未読]
【18569】Re:マクロで縦計算のやり方 ichinose 04/9/29(水) 22:36 発言[未読]
【18580】Re:マクロで縦計算のやり方 takenokotaro 04/9/30(木) 8:35 お礼[未読]

【18523】マクロで縦計算のやり方
質問  takenokotaro  - 04/9/28(火) 19:05 -

引用なし
パスワード
   こんにちは。今回も助けていただきたく投稿させていただきました。
以下のような表の縦計算(合計)をそれぞれマクロで処理したいのですが
どのようにすればよろしいでしょうか?宜しくお願いいたします。

項目1  項目2  項目3  項目4
AA   10000  20000  10000
BB   10000  10000  30000
CC   5000   0      5000  
DD   65000  30000  70000
EE   0      2500   8000
合計

ただし、レコード数は増えたり減ったりその都度変動します。
項目1のレコードが空欄になったら合計の計算を処理するといったマクロが希望です。
どうか宜しくお願いいたします。

【18524】Re:マクロで縦計算のやり方
回答  ichinose  - 04/9/28(火) 19:33 -

引用なし
パスワード
   ▼takenokotaro さん:
こんばんは。

>こんにちは。今回も助けていただきたく投稿させていただきました。
>以下のような表の縦計算(合計)をそれぞれマクロで処理したいのですが
>どのようにすればよろしいでしょうか?宜しくお願いいたします。

この「項目1」がアクティブシートのセルA1から始まっているとして、

>項目1  項目2  項目3  項目4
>AA   10000  20000  10000
>BB   10000  10000  30000
>CC   5000   0      5000  
>DD   65000  30000  70000
>EE   0      2500   8000
>合計
>
>ただし、レコード数は増えたり減ったりその都度変動します。
>項目1のレコードが空欄になったら合計の計算を処理するといったマクロが希望です。
>どうか宜しくお願いいたします。
'=====================================================
Sub main()
  Dim rng As Range
  Set rng = Range("a2", Cells(Rows.Count, 1).End(xlUp))
  If rng.Row > 1 Then
   Cells(rng.Count + 2, 1).Value = "合 計"
   Range(Cells(rng.Count + 2, 2), Cells(rng.Count + 2, 4)).Formula = _
        "=sum(" & rng.Offset(0, 1).Address(False, False) & ")"
   End If
End Sub

確認してみて下さい。

【18566】Re:マクロで縦計算のやり方
質問  takenoko  - 04/9/29(水) 21:15 -

引用なし
パスワード
   ▼ichinose さん:
こんにちは。
早速試して見たいと思います。
縦計算で範囲が空欄になる手前までの合計計算をする
最も簡単なプログラムが他にありましたら教えていただき
たいです。宜しくお願い致します。

【18569】Re:マクロで縦計算のやり方
発言  ichinose  - 04/9/29(水) 22:36 -

引用なし
パスワード
   ▼takenoko さん:
こんばんは。

>縦計算で範囲が空欄になる手前までの合計計算をする
>最も簡単なプログラムが他にありましたら教えていただき
>たいです。
前回の投稿で何か問題があるんでしょうか?
「簡単な」って、ステップ数が少ないコードということですか?
うーん、少なくすればいいってものではないと思いますが・・・。

'===================================================================
Sub test()
  Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 4).Formula = _
   "=if(column()>1,if(COUNTA($A:$A)<=2,0,SUM(OFFSET($A$2,0,COLUMN(a:a)-1,COUNTA($A:$A)-2,1))),""合計"")"
End Sub

【18580】Re:マクロで縦計算のやり方
お礼  takenokotaro  - 04/9/30(木) 8:35 -

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

ご指導ありがとうございました。
またの機会があるかと思いますが宜しくお願いいたします。


>▼takenoko さん:
>こんばんは。
>
>>縦計算で範囲が空欄になる手前までの合計計算をする
>>最も簡単なプログラムが他にありましたら教えていただき
>>たいです。
>前回の投稿で何か問題があるんでしょうか?
>「簡単な」って、ステップ数が少ないコードということですか?
>うーん、少なくすればいいってものではないと思いますが・・・。
>
>'===================================================================
>Sub test()
>  Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 4).Formula = _
>   "=if(column()>1,if(COUNTA($A:$A)<=2,0,SUM(OFFSET($A$2,0,COLUMN(a:a)-1,COUNTA($A:$A)-2,1))),""合計"")"
>End Sub

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