Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


15821 / 76733 ←次へ | 前へ→

【66387】Re:文字列から複数文字を検索したい
発言  teian  - 10/9/2(木) 11:51 -

引用なし
パスワード
   あなたの今の考え方の踏襲で、
Instr関数を使い1文字づつ調べ上げるなら、以下のようでどうでしょうか?

Sub Sample()
  Const sMoji As String = "a b c"
  Dim s As String
  Dim n As Long
  Dim v As Variant
  Dim Ok As Boolean
  
  s = Range("A1").Value
  Ok = False: n = 1
  Do
    For Each v In Split(sMoji)
      n = InStr(n, s, v)
      If n = 0 Then Exit Do
      n = n + Len(v)
    Next
    Ok = True
  Loop Until True
  If Ok Then
    MsgBox "すべての文字がその順番で含まれてます"
  Else
    MsgBox "含まれてないか、その順番どおりでない"
  End If
End Sub


ただ、その存在有無だけなら、Like演算子を使って

Sub Sample2()
  Const sMoji As String = "*a*b*c*"
  Dim s As String
  
  s = Range("A1").Value
  If s Like sMoji Then
    MsgBox "すべての文字がその順番で含まれてます"
  Else
    MsgBox "含まれてないか、その順番どおりでない"
  End If
End Sub

でいいのかもしれませんが。

1 hits

【66386】文字列から複数文字を検索したい けい 10/9/2(木) 11:11 質問
【66387】Re:文字列から複数文字を検索したい teian 10/9/2(木) 11:51 発言
【66388】Re:文字列から複数文字を検索したい けい 10/9/2(木) 14:11 お礼

15821 / 76733 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free