ここから本文です

Sub Sample177() Dim i As Long, j As Long, cnt As Long For i = 2 To 13 cnt ...

sin********さん

2013/2/718:26:53

Sub Sample177()
Dim i As Long, j As Long, cnt As Long
For i = 2 To 13
cnt = 0
For j = 2 To 21
If Cells(i, "C") = Cells(j, "A") Then cnt = cnt + 1
Next j
If cnt > 1 Then
Cells(i, "D") = "重複"
End If
Next

end sub

上記の内容は、VBAです。詳細な説明をお願いします

閲覧数:
288
回答数:
1

違反報告

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

msk********さん

2013/2/810:54:07

こんな感じです。
A2:A21範囲にC2:C13のデータが2つ以上あれば、D列に重複を表示します。

’C2:C13範囲をループ
For i = 2 To 13
|cnt = 0
| ’A2:A21をループしてCi=Ajならばcntに+1
|_____For j = 2 To 21
|_____|If Cells(i, "C") = Cells(j, "A") Then cnt = cnt + 1
|_____|Next j

|’cntが2以上ならDiに重複を表示
|If cnt > 1 Then
|Cells(i, "D") = "重複"
|End If
|Next

一例です。

Dim i As Long
For i = 2 To 13
If Application.CountIf(Range("A2:A21"), Cells(i, "C")) > 1 Then
Cells(i, "D") = "重複"
End If
Next

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

2013/2/8 23:55:49

ありがとうございました

あわせて知りたい

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

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

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

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

閉じる

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

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

閉じる