• ベストアンサー

ExcelVBAで部分一致(*)をしたい

以下のコードで部分一致(*)をさせようとしたのですが、 コンパイルエラーのメッセージが出てしまいます。 どうしたらいいのでしょうか。 よろしくお願いします。 test = Cells(2, 3).Value test2 = Cells(1, 3).Value If * & test & * = test2 then …

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

#1です。 >If test Like "*" & test2 & "*" then ↓の方が適切ですね。失礼しました。 If test2 Like "*" & test & "*" then

smorgas030
質問者

お礼

ありがとうございました。 解決しました。

その他の回答 (3)

回答No.4

やりたいことはみんなの言うとおり文字列リテラルの書き方とその連結、like演算子の使用なんだろうけど・・・ 個人的にはその路線放置でhana-hana3さんの方法に賛成。 Option Explicit Sub hoge() Dim test As String Dim test2 As String test = "[" test2 = "[[" '実行時エラー:パターン文字列が不正です If test2 Like "*" & test & "*" Then End If End Sub とか考慮するのが面倒くさい

smorgas030
質問者

お礼

ありがとうございました。 解決しました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

if文ではそのような使い方はできません。 If InStr(test , test2) > 0 Then InStr関数 http://officetanaka.net/excel/vba/tips/tips33.htm http://officetanaka.net/excel/vba/function/InStr.htm

smorgas030
質問者

お礼

ありがとうございました。 解決しました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

Like演算子と組み合わせます。 If test Like "*" & test2 & "*" then

smorgas030
質問者

お礼

ありがとうございました。 解決しました。

関連するQ&A

専門家に質問してみよう