|
こんばんは。
>今回の件で、全角と半角でも同じ値、「あ」と「ア」でも同じ値を
>返すには、どうしたらいいのでしょうか?
>少しのヒントでも構いません、なにかしらあれば
>教えていただけないでしょうか?
>
>ichinoseさんから教えていただいたコードに
>Strconv等の関数を更に付け加えればいけるのかなと思い、
>色々試してはみたのですが・・・・
Strconv関数をどのように試してダメだったかを必ず、記述して下さい
その記述がいずれは、貴重な資料になると思いますから・・・。
Sub sample()
Dim crng As Range
Dim kk As Variant
Dim cnvstr As String
With Range("b1:b5,B10:B11")
With .Areas(1)
.Cells(1).Value = "あいう"
.Cells(2).Value = " TEST"
.Cells(3).Value = "TEST"
.Cells(4).Value = " アイウ"
.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")
cnvstr = StrConv(StrConv(UCase(Trim(CStr(crng.Value))), vbWide), vbKatakana)
If Not .Exists(cnvstr) Then
Set .Item(cnvstr) = crng
Else
Set .Item(cnvstr) = Application.Union(.Item(cnvstr), crng)
End If
Next
For Each kk In .Keys
MsgBox kk & " という値で " & .Item(kk).Address & " が同じ"
Next
End With
End Sub
これで試してみて下さい。
|
|