Excel VBA質問箱 IV

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

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


24262 / 76732 ←次へ | 前へ→

【57820】Re:配列変数を使用したカウントアップ
発言  りん E-MAIL  - 08/9/15(月) 9:05 -

引用なし
パスワード
   さえ さん、おはようございます。

>一読して、致命的なミスに気づかれる方がいましたら助言をどうかよろしくお願いします。 

ざっと見た感じだと、下の↓#↓のところがおかしいですね(いらないActivateとかは省いてあります)。

Sub ジャンルの統計出力()
  Dim myCell2 As Range
  Dim jan As Long, jan2 As Long, mymaxrow3 As Long, i As Long, a As Long
  Dim ZAN(1 To 30) As Long
  '
  Set myCell2 = Sheets("1").Range("E9:E58")
  '
  For a = 1 To 50 '読み込ます対象は50件
   For jan = 1 To 30 'ジャンルは30種類
     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
      '↓1↓ 上の条件と合致しなくてもここを通った時点で脱出しています
      Exit For
     Next jan2
   Next jan
  Next a
  '
  Sheets("3").Activate
  For i = 1 To 30 'ここでシート3に出力する。
   '↓2↓ シート2に書き出してます。
   Sheets("2").Cells(i, 1).Value = ZAN(i)
  ZAN(i) = 0
  Next i
End Sub

とりあえず、
 ↓1↓ → 下のExit Forが不要
 ↓2↓ → Sheets("3")に変更
でしょうか。
2 hits

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

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