SUM関数の範囲指定 | |
---|---|
[195128] SUM関数の範囲指定- ■親トピック/記事引用/メール受信=ON■ □投稿者/ タロ -(2022/08/26(15:53)) □U R L/ いつもお世話になっております。 Excelで縦範囲のSUM関数を入れたいです。 以前作成した時はシート毎に合計が1つずつあり範囲★部分は固定だったのですが、 1つのシートに合計が複数出てくる場合にどのように指定すればよいでしょうか。 教えていただけると助かります。 A列に記号・・・C列に"合計"が1セットになっています。 間の行数はまちまちです。 C列に"合計"があった場合、そのH列にA列の記号行〜合計行の上行範囲でSUM関数を入れたいです。 宜しくお願いします。 If Cells(i, 3) = "合計" Then Range("H" + CStr(i)).Select ActiveCell.FormulaR1C1 = "=SUM(★:R[-1]C)" End If - - - - - - - - - - - - - - - - Windows10/Excel 2019 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[195131] Re[1]: SUM関数の範囲指定- ■記事引用/メール受信=OFF■ □投稿者/ マナ -(2022/08/26(17:15)) □U R L/ サンプルデータを使って、レイアウトを説明してください |
[195137] Re[2]: SUM関数の範囲指定- ■記事引用/メール受信=OFF■ □投稿者/ マナ -(2022/08/26(19:35)) □U R L/ 予想では、こんな感じでもできるではないかと。 Dim a As Range For Each a In Columns("H").SpecialCells(xlCellTypeConstants, xlNumbers).Areas a(1).Offset(a.Count).Formula = "=sum(" & a.Address(0, 0) & ")" Next この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195153] Re[3]: SUM関数の範囲指定- ■記事引用/メール受信=OFF■ □投稿者/ タロ -(2022/08/29(15:40)) □U R L/ マナさま ありがとうございます。 サンプルデータを表しにくく返信が遅くなりまして申し訳ありません。 ・H列には全てE*Gのrounddownが入っています (行番号1〜28、列A〜Hでサンプル作成しております) A B C D E F G H 1 2 1 aaa =Rounddown〜 3 4 a 1 個 100 =Rounddown(E*G,0) 5 6 b 4 個 100 =Rounddown〜 7 8 =Rounddown〜 9 10 =Rounddown〜 11 12 合計 =SUM(H2:H11) 13 14 =Rounddown〜 15 16 =Rounddown〜 17 18 2 bbb =Rounddown〜 19 20 a 3 個 100 =Rounddown〜 21 22 =Rounddown〜 23 24 =Rounddown〜 25 26 =Rounddown〜 27 28 合計 =SUM(H18:H27) ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[195155] Re[4]: SUM関数の範囲指定- ■記事引用/メール受信=OFF■ □投稿者/ マナ -(2022/08/29(16:34)) □U R L/ Sub test() Dim a As Range Dim r As Range For Each a In Columns(1).SpecialCells(xlCellTypeBlanks).Areas Set r = a(1).Offset(a.Count) If r.Value = "合計" Then r.Offset(, 7).Formula = "=sum(" & a.Offset(, 7).Address & ")" End If Next End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195162] Re[5]: SUM関数の範囲指定- ■記事引用/メール受信=OFF■ □投稿者/ タロ -(2022/08/30(10:36)) □U R L/ マナさま ありがとうございます こちらはA列の空白セル〜"合計"の前セルの範囲になるのですね。 一旦、ダミーでA列に"合計"を入れておけば希望通りになります。 (はじめに合計がC列と書いていましたが、サンプルデータを間違えました。) ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[195165] Re[6]: SUM関数の範囲指定- ■記事引用/メール受信=OFF■ □投稿者/ マナ -(2022/08/30(11:35)) □U R L/ >一旦、ダミーでA列に"合計"を入れておけば希望通りになります。 Sub test2() Dim a As Range Dim r As Range With ActiveSheet.UsedRange.Columns(1) .Value = Evaluate("if(" & .Columns(3).Address & "=""合計"",""合計""," _ & "if(" & .Address & "="""",""""," & .Address & "))") For Each a In .SpecialCells(xlCellTypeBlanks).Areas Set r = a(1).Offset(a.Count) If r.Value = "合計" Then r.Offset(, 7).Formula = "=sum(" & a.Offset(, 7).Address & ")" End If Next .Replace "合計", "" End With End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195166] Re[7]: SUM関数の範囲指定- ■ / 記事引用/メール受信=OFF■ □投稿者/ タロ -(2022/08/30(13:20)) □U R L/ マナさま 合計を入れて作って下さったのですね 説明不足で色々と申し訳ありませんでした 大変助かりました ありがとうございます |
このトピックに書きこむ |
---|