| 
    
     |  | ▼kohaku さん: 
 失礼しました。見過ごしていました m(_ _)m
 
 >仕様のバージョンアップが必要となり、悩んでおります。
 >
 >追加仕様:
 >セルの内容: 12345*  -->  実際のファイル名: 123451.pdf
 >上記のようなPDFファイルは1個しか存在しないことは分かっています。
 
 >■配列の中身を曖昧検索するには、どのように記述すればよいのでしょうか?
 
 ワークシート関数のMATCHを使って、配列のワイルドカードを使った検索が
 できますので、セルの値に * が含まれていたら、Match関数で実在する
 123451.pdf
 の位置を求め、フルパスを取得したらどうでしょうか?
 
 
 Sub Try1() の以下の部分を修正してみましたから、
 これを応用してそちらのコードを修正してみてください。
 
 'シートのA列のファイル名が辞書にあればそのパス名を取得します
 Dim fArray
 fArray = dic.Keys()
 
 Dim r As Range
 Dim m, v As Variant
 Set r = Range("A2", Cells(Rows.Count, 1).End(xlUp))
 v = r.Value
 For i = 1 To UBound(v)
 s = v(i, 1) & ".pdf"
 If InStr(s, "*") Then
 m = Application.Match(s, fArray, 0)
 If IsNumeric(m) Then
 v(i, 1) = dic(fArray(m))
 Else
 v(i, 1) = ""
 End If
 ElseIf dic.Exists(s) Then
 v(i, 1) = dic(s) 'そのファイルのあるパス名
 Else
 v(i, 1) = ""
 End If
 Next
 'シートのB列に検索結果を貼り付ける
 r.Offset(, 1).Value = v
 
 |  |