- ベストアンサー
ExcelVBAで部分一致(*)をしたい
以下のコードで部分一致(*)をさせようとしたのですが、 コンパイルエラーのメッセージが出てしまいます。 どうしたらいいのでしょうか。 よろしくお願いします。 test = Cells(2, 3).Value test2 = Cells(1, 3).Value If * & test & * = test2 then …
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 >If test Like "*" & test2 & "*" then ↓の方が適切ですね。失礼しました。 If test2 Like "*" & test & "*" then
その他の回答 (3)
- himajin100000
- ベストアンサー率54% (1660/3060)
やりたいことはみんなの言うとおり文字列リテラルの書き方とその連結、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 とか考慮するのが面倒くさい
お礼
ありがとうございました。 解決しました。
- hana-hana3
- ベストアンサー率31% (4940/15541)
if文ではそのような使い方はできません。 If InStr(test , test2) > 0 Then InStr関数 http://officetanaka.net/excel/vba/tips/tips33.htm http://officetanaka.net/excel/vba/function/InStr.htm
お礼
ありがとうございました。 解決しました。
- marbin
- ベストアンサー率27% (636/2290)
Like演算子と組み合わせます。 If test Like "*" & test2 & "*" then
お礼
ありがとうございました。 解決しました。
お礼
ありがとうございました。 解決しました。