Excelマクロ
お世話になります。
Excelのマクロに関する質問です。
目的としては、D列に様々な文言が入っており、
D列に記入されている各文言の数をカウントしたいと思っています。
ただし、D列の各文言が複数あった場合でも、
A列が同じ値の場合は数に含めない、という条件があります。
ex)D列に「りんご」という文言が10個あります。
D列に「りんご」と記入されている行のA列は、
「赤」「青」の2パターンしかありません。
⇒この場合、「2」とカウントしたいです。
現在、以下のマクロを考えています。
===========================================================
sub test()
Dim i As Long, x As Long, cnt As Long, buf As Object
'「i」「x」「cnt」を数値として定義。「buf」にD列の値を格納します。
x = 4 '4行目以降を対象としています。
Do While Cells(x, 1).Value <> "" 'A列が空白でない場合のみを対象とします。
cnt = 0 '各行のD列に入っている値の数を数えるため、まずはカウントを0にします。
i = 4 '4行目以降を対象としています。
Set buf = Cells(x, 4) ' D列の値を変数「buf」に格納します。
Do While Cells(i, 1).Value <> "" 'A列が空白でない場合のみを対象とします。
If Cells(i, 4).Value = buf And Cells(i, 1).Value <> Cells(x, 1).Value Then
' D列の値が「buf」に格納した値と同じ、かつ、
' A列の値が、bufに値を格納した時と異なる場合のみ対象
cnt = cnt + 1 '数を数える対象であれば、+1します。
End If
i = i + 1 '次の行に移るために+1します。
Loop
Cells(x, 5).Value = cnt ' E列にcntに格納された値を入力
x = x + 1 '次の行に移るために+1します。
Loop
end sub
=====================================================
上記のマクロでは、E列にカウント後の数らしいものが入力されるのですが、
値が正しくないようです。
お力添えをいただけますでしょうか。
よろしくお願いいたします。
お礼
ありがとうございます 早速試してみます
補足
ありがとうございました 出来ました 5列間隔で最後が236-240で48ペ-ジあります 49ページ目(A23から)に行くマクロも出来れば教えてください