Excel VBA質問箱 IV

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

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


63626 / 76738 ←次へ | 前へ→

【17707】Re:合計と件数の算出について
質問  キタ  - 04/9/6(月) 10:16 -

引用なし
パスワード
   jakaさん、おはようございます。
ご教示の内容を確認させていただきました。
当初の質問の確認をさせていただきますが、下図のようにいくつかのグループが
あります。(7〜10行目、14〜15行目)それらの各グループの各列の数値の合計と
件数を算出します。グループの最終行の次の行に件数の合計を、そして次の行に
数値の合計を、最終的に全部の合計を、最後のグループの合計の次の行に
算出させたいということでした。keinさんのご教示の内容を試させて
いただきましたが、以下のようになりました。
まず、最初のグループについてですが、G列の件数は11行目に出ましたが、数値の合計
は、その件数も含まれた合計になってしまいますので、この件数を含めず算出したいのです。
それから、H〜N列の件数の合計も算出させたいのです。A〜F列は文字列が入力されていますので
これらの計は必要ありません。
次に2つ目のグループですが、14〜15行のデータの件数は16行目に、そして全体の件数の合計が
17行目に出ていますので問題ありませんが、これもやはり、H〜N列の件数計がでません。
18行目、19行目も同様です。
私的には、例えば最初のグループでいうと、G列7〜10行目の件数計をG列11行目に(4です)、
数値の合計を12行目に(265です)、次のグループでは、G列14〜15行目の件数計を16行目に
(2です)、数値の合計を17行目に(15です)、そして全体の数値の合計を18行目に(6です)、
数値の合計を19行目に(280です)算出し、他のH列〜N列も同様にしたいのです。
私も色々試し、四苦八苦しているところですが、わかりません。
申し訳ありませんが、またのご教授をお願い致します。

  A B C D E F  G  H  I  J  K  L  M  N  O  P Q 
7            100 10  2  3      5  5
8            110        2      7
9             2    2          6
10            53  3        4
11            4 
12 0 0 0 0 0 0  269 13  4  3  2  4  5 18
13
14            10  2  3          1
15            5      5  5
16            2  0  0  0  0  0  0  0
17            6  0  0  0  0  0  0  0
18 0 0 0 0 0 0   23  2  3  5  5  0  0  1 0  0  0 0 ...
19 0 0 0 0 0 0  292  2  3  5  5  0  0  1 0  0  0 0 ...


▼Jaka さん:
>こんにちは。
>現在までの状況を把握してません。
>
>また、↓入ってません。
>>7〜10行までにある数値の件数を11行目に、金額の合計を12行目に、それぞれ
>>各列毎に算出します。
>
>
>Sub PLAS()
>  Dim i As Long
>  Dim j As Long
>  Dim 先頭行 As Long
>  Dim 最終行 As Long
>  Dim 対象データ As Variant
>  Dim 合計(5) As Variant
>  Dim 小計(5) As Variant
>  Dim ブランク As Boolean
>
>  With ActiveSheet
>    先頭行 = 7
>    最終行 = .Cells(65536, "G").End(xlUp).Row + 1
>    For i = 先頭行 To 最終行
>
>      .Cells(i, "G").Resize(, 7).Select '←確認用に1度入れてみるといいです。
>      
>      対象データ = .Cells(i, "G").Resize(, 6).Value
>      If 対象データ(1, 1) = "" Then
>        If ブランク Then
>          .Cells(i, "G").Resize(, 7).Value = 小計
>          .Cells(i, "G").Resize(, 7).Font.Bold = True
>          For j = 0 To 5
>            合計(j) = 合計(j) + 小計(j)
>            小計(j) = 0
>          Next j
>          ブランク = False
>        End If
>      Else
>        If 対象データ(1, 1) <> "" Then
>          ブランク = True
>          If IsNumeric(Trim(対象データ(1, 1))) Then
>           小計(0) = 小計(0) + 1
>          End If
>          For j = 0 To 6
>            小計(j) = 小計(j) + Val(対象データ(1, j))
>          Next j
>        End If
>      End If
>    Next i
>    .Cells(i, "G").Resize(, 7).Value = 合計
>    .Cells(i, "G").Resize(, 7).Font.Bold = True
>  End With
>End Sub
>
>**********************
>Sub sgh()
>  Dim Cure As Range, Gcure As Range, STR As Range, GK() As Long
>  Dim CCR As Long
>  Set STR = Range("G7")
>  CCR = STR.End(xlDown).End(xlToRight).Column - STR.Column + 1
>  ReDim GK(1 To CCR)
>  Do Until STR.End(xlDown).Row = 65536
>    Set STR = STR.End(xlDown)
>    With STR 'Range("G8")
>      Set Gcure = Nothing
>      Set Cure = .CurrentRegion
>      With Cure
>         Set Gcure = .Offset(.Rows.Count).Resize(1)
>         For i = 1 To .Cells.Columns.Count
>          Gcure.Cells(i).Value = Application.Sum(.Cells.Columns(i))
>          Gcure.Cells(i).Font.Bold = True
>          GK(i) = GK(i) + Application.Sum(.Cells.Columns(i))
>         Next
>      End With
>    End With
>    Set STR = Gcure.Cells(i)
>    Set Cure = Nothing
>  Loop
>  Gcure.Cells(i).Resize(, CCR).Value = GK
>  Gcure.Cells(i).Resize(, CCR).Font.Bold = True
>  Set STR = Nothing
>  Set Gcure = Nothing
>  Erase GK
>  End
>End Sub

0 hits

【17623】合計と件数の算出について キタ 04/9/3(金) 15:17 質問
【17624】Re:合計と件数の算出について Asaki 04/9/3(金) 15:39 回答
【17625】Re:合計と件数の算出について キタ 04/9/3(金) 15:57 質問
【17626】Re:合計と件数の算出について Asaki 04/9/3(金) 16:05 回答
【17628】Re:合計と件数の算出について キタ 04/9/3(金) 17:30 質問
【17705】Re:合計と件数の算出について Jaka 04/9/6(月) 9:15 発言
【17707】Re:合計と件数の算出について キタ 04/9/6(月) 10:16 質問
【17743】Re:合計と件数の算出について Jaka 04/9/7(火) 9:19 回答
【17642】Re:合計と件数の算出について Kein 04/9/3(金) 20:37 発言

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