ここから本文です

Sub 繰り返し構文() Set r1 = Worksheets("h").Range(Cells(400, 3).End(xlUp).O...

pc_********さん

2011/5/613:43:37

Sub 繰り返し構文()
Set r1 = Worksheets("h").Range(Cells(400, 3).End(xlUp).Offset(-20), Cells(400, 5).End(xlUp))
r1.Select

For i = 3 To 12
For a = 0 To 9

Worksheets("k").Cells(i, 3) = WorksheetFunction.CountIf(r1, "a")
Next
Next
End Sub

r1には0~9が順不同で一桁づつ入っています。
B3セルにはr1範囲の0の数を、
B4セルにはr1範囲の1の数を・・・というようにしたいのですが、上記コードではなりません。
どのようにしたらよいのでしょうか?

閲覧数:
241
回答数:
1

違反報告

ベストアンサーに選ばれた回答

ato********さん

編集あり2011/5/615:27:11

For i = 3 To 12
For a = 0 To 9
Worksheets("k").Cells(i, 3) = WorksheetFunction.CountIf(r1, "a")
Next
Next
End Sub

これではaという文字列を探しに行ってるので"a"を変数のaにする

それでもaのループで必ず9まで回るので答えは常に9のものが並ぶはず(0から8も表示してるけど最後に置き換えられる)
なのでiのループは取って↓でどう?

For a = 0 To 9
Worksheets("k").Cells(a + 3, 3) = WorksheetFunction.CountIf(r1, a)
Next
※B列なら2ですけどね、、

質問した人からのコメント

2011/5/6 16:59:17

おみごとでした。ありがとうございます。(C列と間違えました。。。)

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる