Excel VBA質問箱 IV

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

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


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

【39076】月次集計をしようと頑張ってますが・・ akane 06/6/17(土) 15:32 質問[未読]
【39077】Re:月次集計をしようと頑張ってますが・・ かみちゃん 06/6/17(土) 15:40 発言[未読]
【39079】Re:月次集計をしようと頑張ってますが・・ akane 06/6/17(土) 15:58 質問[未読]
【39080】Re:月次集計をしようと頑張ってますが・・ かみちゃん 06/6/17(土) 16:09 発言[未読]

【39076】月次集計をしようと頑張ってますが・・
質問  akane  - 06/6/17(土) 15:32 -

引用なし
パスワード
   VBAまったくの初心者ですが、見よう見真似で集計できるマクロを作ってます。
伝票No. 区分 フラグ  日付   数量 ・・・・
 1    xx        2006/6  10  ・・・・
 2    yy   1806  2006/6  50  ・・・・
 3    xx        2006/6  80  ・・・・
上記表の月別集計を最終行に入れるのですが、完成かなと思った時に2行目のように
途中にフラグを入れなければいけない事が、まれにある事が解り最終行からの計算では
できないようになりました。

Dim ce As Integer, c As Integer      
Dim re As Long, r As Long, fe As Long

ce = Range("A1").End(xlToRight).Column '最終列を取得
re = Range("A1").End(xlDown).Row    '最終行を取得【伝票No.】
fe = Range("C1").End(xlDown).Row    '最終行を取得【フラグ】

  If Cells(re, 1) <> "計" Then
    If fe > re Then
      fe = 1
    End If
    Cells(re + 1, 1) = "計"
    Cells(re + 1, 2) = "−"

    For c = 5 To ce - 1
      For r = fe + 1 To re
        Cells(re + 1, c) = Cells(re + 1, c) + Cells(r, c)
      Next r
    Next c

※    For r = fe + 1 To re
※      Cells(r, 3) = Format(Cells(r, 4), "eemm")
※    Next r
※    Cells(re + 1, 3) = Cells(re, 3)
  End If
上記マクロでも相当苦労して作りました^^;
フラグが処理済って感じで利用してます。途中にフラグが起ってる場合の集計時の
フラグの起て方をご教授願います。
別のシートでフラグ列をみてSUMIFでデーター利用してますのでフラグ列が重要になってくるのです。。。

【39077】Re:月次集計をしようと頑張ってますが・・
発言  かみちゃん  - 06/6/17(土) 15:40 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>伝票No. 区分 フラグ  日付   数量 ・・・・
> 1  xx      2006/6  10  ・・・・
> 2  yy  1806  2006/6  50  ・・・・
> 3  xx      2006/6  80  ・・・・
>上記表の月別集計を最終行に入れるのですが、完成かなと思った時に2行目のように
>途中にフラグを入れなければいけない事が、まれにある事が解り最終行からの計算では
>できないようになりました。

元のデータはわかるのですが、どうなってほしいのかがわかりませんので、
説明していただけませんか?

【39079】Re:月次集計をしようと頑張ってますが・・
質問  akane  - 06/6/17(土) 15:58 -

引用なし
パスワード
   >>伝票No. 区分 フラグ  日付   数量 ・・・・
>> 1    xx       2006/6  10  ・・・・
>> 2   yy  1806  2006/6  50  ・・・・
>> 3   xx       2006/6  80  ・・・・

すみません、説明下手でm(__)m

結局4行目に
 計  −  1806  空白  90

と、なるようにしたかったのです^^;
途中、2行目フラグの欄に日付がこなければ最初に書いたマクロで出来てたのですが
フラグ列の空白の数量を数量最終列に縦計表示したいのです。(解るかな...(-_-;)

【39080】Re:月次集計をしようと頑張ってますが・・
発言  かみちゃん  - 06/6/17(土) 16:09 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>フラグ列の空白の数量を数量最終列に縦計表示したいのです。(解るかな...(-_-;)

フラグが1806だけなら問題ないのですが、フラグがいろいろあった場合、合計行
のフラグを何と表示したらいいのでしょうか?

なお、合計については、マクロでなくても次のような数式でできると思います。
=SUMIF(C1:C3,"",E1:E3)
この式では、C列に何も入っていない行のE列の値を合計します。

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