質問編集履歴

1

仕様の説明(実現したい事)を追加しました。

2021/12/31 06:02

投稿

3109HM
3109HM

スコア0

test CHANGED
File without changes
test CHANGED
@@ -2,19 +2,51 @@
2
2
 
3
3
 
4
4
 
5
- Excel VBA二重ループを作成たい
5
+ 仕様の説明が上手くきてないので、再度、新規に投稿ます。
6
6
 
7
- ・データ区分I列 4種類 決・D・E*〇・E*△!
7
+ Excel VBAて(添付映像)
8
8
 
9
- ・データ集計行 18~250行ぐらい
9
+ ① I列に区分け条件があります
10
10
 
11
- ・データ集計結果 CP ~EB
11
+ ② 区分けされた「行」にそれぞれの数値があります
12
12
 
13
+ ③ 行毎の集計を CP列からEC列の2行/5行/6行に合計したい
14
+
15
+ ④ JA ~JD に条件別に合計をしてみました
16
+
13
- CP CQ CR(CQ/CP
17
+ ⑤ ④の値をCP2/CP5/CP6に記載
18
+
19
+ ⑥ ①②③までを、ダイレクト集計可能なら④以降はいらない
14
20
 
15
21
 
16
22
 
23
+ I列の条件区分をJA2に集計するところまでは、何とかたどりつきました。
24
+
25
+
26
+
27
+ Dim i As Long
28
+
29
+ For i = 1 To 4
30
+
31
+
32
+
33
+ Range("IZ2").Offset(, i) = WorksheetFunction.SumIf(Range("I:I"), Choose(i, "決", "D", "E*○", "E*△"), Range("CP:CP"))
34
+
35
+ Next i
36
+
37
+
38
+
39
+ 上記のRange(”IZ2”)と Range("CP:CP")を1文ずつ作成すれば
40
+
41
+ 出来そうですが、もう少しシンプルな内容の構成にしたい
42
+
43
+ For~Next の二重ループで可能でしょうか?
44
+
45
+ ヒントがあれば、ご教授願います。
46
+
47
+
48
+
17
- ![イメージ説明](cc572d99522d529b05e0ab999e26a670.jpeg)
49
+ ![イメージ説明](52e8f43842f8b8fe45ff5e559d1559e3.jpeg)
18
50
 
19
51
 
20
52
 
@@ -24,37 +56,11 @@
24
56
 
25
57
 
26
58
 
27
- 二重ループの作成が可能かどうか判らない、ヒントを教えてください。
28
-
29
59
 
30
60
 
31
61
  ### 該当のソースコード
32
62
 
33
63
 
34
-
35
- Excel VBA
36
-
37
- Range("JA2") = WorksheetFunction.SumIf(Range("I:I"), "決", Range("CP:CP"))
38
-
39
- Range("JB2") = WorksheetFunction.SumIf(Range("I:I"), "D", Range("CP:CP"))
40
-
41
- Range("JC2") = WorksheetFunction.SumIf(Range("I:I"), "E*○", Range("CP:CP"))
42
-
43
- Range("JD2") = WorksheetFunction.SumIf(Range("I:I"), "E*△", Range("CP:CP"))
44
-
45
-
46
-
47
- Range("CP2") = WorksheetFunction.Sum(Range("JA2:JD2"))
48
-
49
- Range("CP5") = WorksheetFunction.Sum(Range("JA2:JB2"))
50
-
51
- Range("CP6") = WorksheetFunction.Sum(Range("JA2:JC2"))
52
-
53
-
54
-
55
- これを CP列からEB列まで、記載したがとても時間が掛かった、また行・列が変わる可能性がるあるので
56
-
57
- とても実用性が無い。
58
64
 
59
65
 
60
66