戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
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/

      マナさま 

      合計を入れて作って下さったのですね
      説明不足で色々と申し訳ありませんでした
      大変助かりました ありがとうございます



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G