問題を例から始めます。そうしないと説明が難しくなります。
A B C D E (ID)
1 word letter 1
test blabla
other
2 word letter 2
number
3 test true 3
4 other false 4
5 word letter Yes 5
6 word letter Yes 6
7 test letter 7
目標は何ですか?
目標を言葉で説明しようとすると、わかりにくくなります。説明するのも難しいです :) とにかく、コードも追加しました。VBA に精通していれば、テキストよりもコードをよく理解できます。
値 (この例では単語) が他の行にもある場合は、列 C をチェックする必要があります。また、列 C に複数回見つかった値が列 C にある場合 (この例では文字)、列Aに値が複数回表示されているかどうかを再確認する必要があります。
だから私はすでにサブを作成しました、そしてそれはうまくいきます!:)しかし、セルにさらに値がある場合はそうではありません。したがって、セルに値が 1 つしかない場合の例では、行 6 & 7 のように、列 D は YES を返します。
これまでの私のコードは次のとおりです。
Sub duplicates()
Dim source As Range
Dim source2 As Range
For Each source In Range("A1", Range("A" & Rows.Count).End(xlUp))
If source.Value <> "" Then
For Each source2 In Range("A1", Range("A" & Rows.Count).End(xlUp))
If source.Value = source2.Value And source.Offset(0, 4).Value <> source2.Offset (0, 4).Value Then
If source.Offset(0, 2).Value = source2.Offset(0, 2).Value Then
source.Offset(0, 3) = "Yes"
End If
End If
Next source2
End If
Next source
End Sub
したがって、1 行目と 2 行目でも YES を返す必要があります。私の目標を理解していただければ幸いです。誰かが助けてくれることを願っています。