|
▼ichinose さん:
▼プルート さん:
お世話になっております。
先日、教えていただいた内容で再度ご教授を
お願いしたい点があり投稿させて頂いています。
私の勘違いで比較のやり方が失敗していました。
"TEST"と"test"で同じ値。"test"と" test"でも(ブランクがあっても)同じ値。
というふうに結果を返したいのですが、先日教えていただいたコードを
少し変えるだけで対応可能なのでしょうか?
何度も申し訳ありませんが、よろしければご教授お願いいたします。
>こんにちは。
>
>仕事中なのできちんとは検証してませんが、
>
>
>>同じ”値”が入っているかどうかという事で、
>>投稿させてもらっていましたが、これには文字列も比較対照に
>>入っています。
>>例えば”TEST"という文字と、"TEST"だと、同じ値。
>>"TEST”という文字と" TEST"だと、後者にはスペースが入っているので
>>違う値。という風に出したいです。
>そうなっているはずですが・・・。
>以下のテストデータで試してみてください
>
>Sub sample()
> Dim crng As Range
> Dim kk As Variant
> With Range("b1:b5,B10:B11")
> With .Areas(1)
> .Cells(1).Value = "TEST"
> .Cells(2).Value = " TEST"
> .Cells(3).Value = "TEST"
> .Cells(4).Value = " TEST"
> .Cells(5).Value = "aaaa"
> End With
> With .Areas(2)
> .Cells(1).Value = "aaaa"
> .Cells(2).Value = " TEST"
> End With
> End With
> MsgBox "上記のデータでテストします"
> With CreateObject("scripting.dictionary")
> For Each crng In Range("b1:b5,B10:B11")
> If Not .Exists(CStr(crng.Value)) Then
> Set .Item(CStr(crng.Value)) = crng
> Else
> Set .Item(CStr(crng.Value)) = Application.Union(.Item(CStr(crng.Value)), crng)
> End If
> Next
> For Each kk In .Keys
> MsgBox kk & " という値で " & .Item(kk).Address & " が同じ"
> Next
> End With
>End Sub
>
>
>後は、夜の返信になります。
|
|