|
exists で、アイテムの存在の有無を確認するときに、
LIKE演算子は使えないのでしょうか?
あいまい検索的な感じにアイテムをヒットさせたいのですが
どうもうまくいかなくて困ってます
今のコードは下記の通りです
A列の2行目から最終行までのデータを、
dictionaryオブジェクトの中に格納します
ここで、A列のデータというのが、*や?を含んだものです
シート1
A列
*AAA?1*BBB?1*CCC?1
*EEE?2*EWRE?7*QQQQ?2
*DDD?4*EEE?1*SSS?7
このようなデータが3000件ほどあります
シート2
A列
DDD-4|EEE-1|SSS-7
EEEq2|EWRE-7|QQQQ-2
など、*や?が入っていないデータがあります
それを今度は、
シート2のリストを調べていき、
dictionaryオブジェクトの中に存在しているかを確認し
存在していれば、Itemを入れるといった感じにしたいのですが、
existsのときに、Like演算子がうまく使えないのですが、使うことはできないのでしょうか?
たとえば、シート2内の
DDD-4|EEE-1|SSS-7 は *DDD?4*EEE?1*SSS?7 である
という認識をさせたいのです
Set MyD = CreateObject("scripting.dictionary")
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Not MyD.exists(Range("A" & i).Value) Then
MyD.Add Range("A" & i).Value, Range("B" & i).Value
End If
Next i
Sheets("シート2").Activate
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
If MyD.exists(Range("A" & i).Value) Then
↑ココで、指定文字を含むものがあるか?どうか?を判断させたいです
Range("B" & i).Value=MyD.Item(Range("A" & i).Value)
End If
Next i
どうか、ご教授願います
|
|