Excel VBA質問箱 IV

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

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


24263 / 76732 ←次へ | 前へ→

【57819】配列変数を使用したカウントアップ
質問  さえ  - 08/9/15(月) 9:02 -

引用なし
パスワード
   シート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

0 hits

【57819】配列変数を使用したカウントアップ さえ 08/9/15(月) 9:02 質問
【57820】Re:配列変数を使用したカウントアップ りん 08/9/15(月) 9:05 発言
【57821】Re:配列変数を使用したカウントアップ さえ 08/9/15(月) 9:16 お礼

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