回答編集履歴

2

修正

2016/05/25 02:27

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -28,7 +28,9 @@
28
28
 
29
29
  修正依頼コメントへの回答からおおよその処理が把握できましたので、追記します。
30
30
 
31
+
32
+
31
- ```
33
+ ```VBA
32
34
 
33
35
  'CSV取得ループ
34
36
 
@@ -44,11 +46,11 @@
44
46
 
45
47
  strKind = 種類 'CSVから取得した【種類】
46
48
 
47
- iRow = 1
48
-
49
49
 
50
50
 
51
51
  '種類チェックループ
52
+
53
+ iRow = 1
52
54
 
53
55
  Do
54
56
 

1

追記

2016/05/25 02:27

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -18,20 +18,78 @@
18
18
 
19
19
  ※処理前のシートのイメージと、処理後のイメージがあるとうれしいです。
20
20
 
21
- 例)
22
21
 
23
- A B C …
24
22
 
25
- 1 a1 2
23
+ ---
26
24
 
27
- 2 a2 1
25
+ 追記
28
26
 
29
- 3 a3 1
27
+ ---
30
28
 
31
- 4 a4 1
29
+ 修正依頼コメントへの回答からおおよその処理が把握できましたので、追記します。
32
30
 
33
- 5 a1
31
+ ```
34
32
 
35
- 6
33
+ 'CSV取得ループ
36
34
 
37
- 7
35
+ Do
36
+
37
+ 'CSV取得処理
38
+
39
+ '~ここは割愛~
40
+
41
+
42
+
43
+ 'ここから今回のチェック
44
+
45
+ strKind = 種類 'CSVから取得した【種類】
46
+
47
+ iRow = 1
48
+
49
+
50
+
51
+ '種類チェックループ
52
+
53
+ Do
54
+
55
+ If Cells(iRow, 1) = "" Then
56
+
57
+ '①空セルまでに同じ種類が見つからなった場合、新規に種類作成・件数=1
58
+
59
+ Cells(iRow, 1) = strKind 'A列に種類をセット
60
+
61
+ Cells(iRow, 2) = 1 'B列に件数1をセット
62
+
63
+ 'ループを抜ける
64
+
65
+ Exit Do
66
+
67
+ ElseIf Cells(iRow, 1) = strKind Then
68
+
69
+ '②同じ種類が既にある場合、件数+1
70
+
71
+ Cells(iRow, 2) = Cells(iRow, 2) + 1 'B列の件数を+1
72
+
73
+ 'ループを抜ける
74
+
75
+ Exit Do
76
+
77
+ Else
78
+
79
+ '①でも②でもなかった場合(空セルでないが種類も違う場合)、次のセルをチェック
80
+
81
+ iRow = iRow + 1
82
+
83
+ EndIf
84
+
85
+ Loop
86
+
87
+
88
+
89
+ Loop
90
+
91
+ ```
92
+
93
+
94
+
95
+ こんな感じでどうでしょう?