あなたは単にあなたが使用することができ、文字列が存在するかどうかを知りたい場合は、次の
Dim found As Boolean
Dim searchString As String
searchString = shLook.Cells(i, 1).Value
If Left(searchString, 1) <> "?" Then searchString = "*" & searchString
If Right(searchString, 1) <> "?" Then searchString = searchString & "*"
found = shSource.Cells(rowSt, 18).Value Like searchString
あなたはその文字列が始まる位置を知りたい場合は、あなたがやって前に出ワイルドカード文字を削除する必要があります。 Instr
:
If Found Then
LPosition = InStr(shSource.Cells(rowSt, 18), Replace(Replace(searchString, "?", ""), "*", ""))
End If
注:あなたは単にあなたが「XYZABCIJK」内の「?ABC」を検索する場合には偽の試合になるだろうので、最初の部分をやったことなく、第2の部分を行うことはできません。
'shLook.Cells(row、col).Value'をVBAに渡すと、文字列とみなされます。スクリプト内でワイルドカードを使用する必要があります。 – Masoud
私はこれが優れていると思いますか?不足しているタグを追加してください – phil652