|
シート1のデータ5件分をジャンル別に登録している基準となるデータシート2と比較して、ジャンルの何番に該当するか、件数を数えようとしています。又、その結果を別のシート3に出力しようとしています。
以下にコードを乗せてありますが、エラーこそでませんが、カウント件数がすべて0件になってしまいます。私的にミスなく組んだつもりなだけに、原因がまったく掴めていません。一読して、致命的なミスに気づかれる方がいましたら助言をどうかよろしくお願いします。
///////////例////////////////
シート1
aaa
aaa
bbb
ccc
シート2
1 2 3
aaa bbb ddd
シート3
1 2(件数)
2 1
3 0
/////////////////////////////////
この場合、シート1のaaaと言うデータはシート2にのaaaのデータにヒットするので、シート3の出力結果に1の項目が2件と表示され、同様に、bbbは1件,cccは0件と表示される用にしています。上記の例をプログラムで作った物が以下になります。
Sub ジャンルの統計出力()
Dim myCell2 As Range
Dim jan As Long
Dim jan2 As Long
Dim mymaxrow3 As Long
Dim ZAN(1 To 3) As Long
Dim i As Long
Set myCell2 = Sheets("1").Range("A1:A8")
For a = 1 To 4 '読み込ます対象は4件
For jan = 1 To 3 'ジャンルは3種類
Sheets("2").Activate
Worksheets("2").Range("A1").Select
mymaxrow3 = Sheets("2").Cells(500, jan).End(xlUp).Row
For jan2 = 1 To mymaxrow3 '
If Sheets("2").Cells(jan2, jan).Value = myCell2.Cells(a, 1).Value Then
ZAN(jan) = ZAN(jan) + 1 'ここで件数をカウントアップ
Exit For
End If
Exit For
Next jan2
Next jan
Next a
Sheets("3").Activate
Sheets("3").Range("A1").Select
For i = 1 To 3 'ここでシート3に出力する。
Sheets("3").Cells(i, 1).Value = ZAN(i)
ZAN(i) = 0
Next i
End Sub
|
|