Excel VBA質問箱 IV

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

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


2933 / 76735 ←次へ | 前へ→

【79442】Re:シート上で、複数合計をだす
発言  γ  - 17/10/21(土) 12:05 -

引用なし
パスワード
   前提が違っているかも知れないが、使えるなら使ってみてください。

Sub test()
  Dim rng   As Range
  Dim a    As Range
  Dim rng1  As Range
  Dim lastRow As Long
  
  Set rng1 = Range("A1").End(xlDown).Offset(3)
  lastRow = Cells(Rows.Count, 1).End(xlUp).Row
  Set rng = Range(rng1, Cells(lastRow, 1)) _
       .Offset(0, 2).SpecialCells(xlCellTypeConstants)
  
  For Each a In rng.Areas
    With a
      .Cells(1).Offset(.Rows.Count).Value = WorksheetFunction.Sum(.Cells)
    End With
  Next
End Sub

Sub test2()
  Dim rng   As Range
  Dim lastRow As Long
  Dim k    As Long
  
  lastRow = Cells(Rows.Count, 1).End(xlUp).Row
  Set rng = Range("A1", Cells(lastRow, 1)) _
       .Offset(0, 2).SpecialCells(xlCellTypeConstants)
  
  For k = 2 To rng.Areas.Count
    With rng.Areas(k)
      .Cells(1).Offset(.Rows.Count).Formula = _
        "=Sum(" & .Cells.Address(False, False) & ")"
    End With
  Next
End Sub

レイアウトの提示がなかったのは残念。
以下のような疑問が生じないように求めたものだが、
人の言うことに耳を貸さない方のようです。
・A列には店舗名が重複して入力されているものと仮定
・一行目だけのデータではないものと仮定(Set rng1 = Range("A1").End(xlDown).Offset(3)が不適当の懼れ)
・A店舗だけされている「品目集計」の意味が説明されなかった。

そもそも、特別なことがなぜ最初のA店舗にだけ発生しているのか。
汎用性を持たせる必要はないのか。

アドホックな対応をするなら、コード対応ではなく、ワークシートを直せばよいのではないか。
もし手作業でSUM関数を使った計算式がA店舗の合計値セルに埋められているなら、
A店舗を特別視する必要はないはず。提示のロジックで対応可能だったはず。

なお、結果数値を書き込む方式だと、データの一部変更などがあって
処理をやりなおす必要がもし出てきた場合には、再処理ができない。
結果が定数値とみなされて計算結果が変わってくる。
だから、式を埋め込んだ方がよいかもしれない。

なお、前のスレッドであったマナさんの助言にもトライされたほうがよいと
思います。
0 hits

【79432】シート上で、複数合計をだす ノンボ 17/10/19(木) 20:47 質問[未読]
【79435】Re:シート上で、複数合計をだす γ 17/10/19(木) 22:30 発言[未読]
【79439】Re:シート上で、複数合計をだす ノンボ 17/10/20(金) 8:02 質問[未読]
【79442】Re:シート上で、複数合計をだす γ 17/10/21(土) 12:05 発言[未読]
【79443】Re:シート上で、複数合計をだす ノンボ 17/10/21(土) 18:39 お礼[未読]
【79444】Re:シート上で、複数合計をだす γ 17/10/21(土) 19:03 発言[未読]
【79445】Re:シート上で、複数合計をだす ノンボ 17/10/22(日) 7:39 お礼[未読]
【79446】Re:シート上で、複数合計をだす γ 17/10/22(日) 12:27 発言[未読]
【79447】Re:シート上で、複数合計をだす ノンボ 17/10/22(日) 16:25 お礼[未読]

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