|
▼xxxxx さん:
こんばんは。
>後もう1つ質問なんですが、赤くエラーにしたところの文字をとり、
>重複してますとメッセージボックスをだしたいのですが、
↑をこれを簡単に表すために条件付書式を使ったんですが・・・。
重複しているデータをピックアップするなら、別の方法ですね!!
>このコードだとどこで重複してるという値をとれるのかわからなく・・・
重複データに関しては、Dictionaryオブジェクトを使うのが簡単です。
過去ログを検索してください。
上記のオブジェクトを使わない方法をコードにしました。
データがA1から入力されているとして、
標準モジュールに
'=============================================
Sub main()
Dim rng As Range
Dim dup() As Variant
Dim g0 As Long
For Each rng In Range("a1", Cells(Rows.Count, "a").End(xlUp))
With rng
If Evaluate("countif(a1:a" & .Row & "," & .Address & ")=2") Then
g0 = g0 + 1
ReDim Preserve dup(1 To g0)
dup(g0) = .Value
End If
End With
Next
If UBound(dup()) > 0 Then
MsgBox Join(dup(), vbCrLf) & " が重複しています"
End If
Erase dup
End Sub
こんな方法もあります。
|
|