• ベストアンサー

VBA CASE文 文字列比較に特殊記号

CASE文で ¥ \ など特殊な記号で 文字列比較したいケースが時折あります。 MsgBox 等で比較すると問題無くTrueになるのですが、 Caseの文字列比較だと正しく評価されません。 どの様に記述するべきでしょうか。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

CASE文でなく、LIKE演算子で並べてはどうか。 https://www.sejuku.net/blog/33810#i-2 の「ワイルドカードのエスケープ」などの内容を応用できないか。 プログラムコード上で、(CASEに似て)列挙的にコードが書けるのでは。 CASEはそっくり一致だと思うので、が http://www.relief.jp/docs/excel-vba-select-case-like.html http://vbaexcel.seesaa.net/article/140800843.html ーー 下記もテスト的にやってみてください。2文字重ね法。 VB:通常の文字列 <-VBはVB6.0?  VBの通常の文字列リテラルでは、ダブルクォーテーション記号「"」や改行記号などの特殊文字は、そのままでは文字列リテラル内に記述できない。  ダブルクォーテーション記号「"」を文字列リテラル内に記述するには、ダブルクォーテーション記号を2つ重ねて「""」と書く。

popepon
質問者

お礼

Likeでも良いんですが 複数条件必要になりそうだったのと 曖昧で複数条件だと煩雑になりそうだったので 結局Replaceして逃げました もしくはcaseの評価にboolを使い bool 代入時に評価させるのもアリかも知れません と言うかもうIFでやれって感じですが。。。 参考になりました有難う御座いました。

その他の回答 (1)

  • kanti42
  • ベストアンサー率26% (8/30)
回答No.1

ASCIIで比較するという手段もあるのではないでしょうか!

popepon
質問者

お礼

なるほどそれもありですね 参考になりました有難う御座います

関連するQ&A

専門家に質問してみよう