teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2016/05/25 02:27

投稿

jawa
jawa

スコア3020

answer CHANGED
@@ -13,7 +13,8 @@
13
13
  追記
14
14
  ---
15
15
  修正依頼コメントへの回答からおおよその処理が把握できましたので、追記します。
16
+
16
- ```
17
+ ```VBA
17
18
  'CSV取得ループ
18
19
  Do
19
20
  'CSV取得処理
@@ -21,9 +22,9 @@
21
22
 
22
23
  'ここから今回のチェック
23
24
  strKind = 種類 'CSVから取得した【種類】
24
- iRow = 1
25
25
 
26
26
  '種類チェックループ
27
+ iRow = 1
27
28
  Do
28
29
  If Cells(iRow, 1) = "" Then
29
30
  '①空セルまでに同じ種類が見つからなった場合、新規に種類作成・件数=1

1

追記

2016/05/25 02:27

投稿

jawa
jawa

スコア3020

answer CHANGED
@@ -8,12 +8,41 @@
8
8
  質問に対するアドバイスですが、「指定セル」と「代入する値」、「調べる行」、これらがどう変わっていくのかが分からないためアドバイスが難しいです。
9
9
  これらの関係性を補足してもらえると回答がしやすいです。
10
10
  ※処理前のシートのイメージと、処理後のイメージがあるとうれしいです。
11
+
12
+ ---
11
- 例)
13
+ 追記
14
+ ---
15
+ 修正依頼コメントへの回答からおおよその処理が把握できましたので、追記します。
16
+ ```
17
+ 'CSV取得ループ
18
+ Do
12
- A B C …
19
+ 'CSV取得処理
13
- 1 a1 2
20
+ '~ここは割愛~
21
+
22
+ 'ここから今回のチェック
23
+ strKind = 種類 'CSVから取得した【種類】
14
- 2 a2 1
24
+ iRow = 1
25
+
26
+ '種類チェックループ
27
+ Do
28
+ If Cells(iRow, 1) = "" Then
29
+ '①空セルまでに同じ種類が見つからなった場合、新規に種類作成・件数=1
30
+ Cells(iRow, 1) = strKind 'A列に種類をセット
31
+ Cells(iRow, 2) = 1 'B列に件数1をセット
32
+ 'ループを抜ける
15
- 3 a3 1
33
+ Exit Do
34
+ ElseIf Cells(iRow, 1) = strKind Then
35
+ '②同じ種類が既にある場合、件数+1
36
+ Cells(iRow, 2) = Cells(iRow, 2) + 1 'B列の件数を+1
37
+ 'ループを抜ける
16
- 4 a4 1
38
+ Exit Do
17
- 5 a1
39
+ Else
40
+ '①でも②でもなかった場合(空セルでないが種類も違う場合)、次のセルをチェック
41
+ iRow = iRow + 1
42
+ EndIf
43
+ Loop
44
+
45
+ Loop
18
- 6
46
+ ```
47
+
19
- 7
48
+ こんな感じでどうでしょう?