| 
    
     |  | おはようございます。 
 >文で書いてみたんですが、”あ” しか検索できなくて。。
 >”あ”の後に、”あ”or”い”or”う”・・・
 >と記入すると型が違いますと出ます。
 
 まず、きちんとプロシジャー名も記述してください。
 大勢の方が るかさんの投稿をみています。
 例えば、るかさんよりVBAの知識がない方がそのままコピーしても
 何だよ!!これだって動かないじゃん ってことになってしまいます。
 御自分の抱えている問題を忠実に再現する投稿を心がけてください。
 そうすることがきっと、 るかさんVBA上達に役に立ちますから・・・
 
 Sub test()
 Dim i As Long
 Dim myRng As Range
 Set myRng = Range("A1:A5")
 For i = 1 To 5
 If Range("A" & i).Value = "あ" Or "い" Or "う" Or "え" Then
 MsgBox "あいるよ"
 Else
 MsgBox "あいないよ"
 End If
 Next
 End Sub
 
 このようなコードを実行すると、
 
 If Range("A" & i).Value = "あ" Or "い" Or "う" Or "え" Then
 
 の行で「型が一致しません」というエラーメッセージが出る ということですね?
 
 Sub test1()
 Dim i As Long
 For i = 1 To 5
 If Range("A" & i).Value = "あ" Or _
 Range("A" & i).Value = "い" Or _
 Range("A" & i).Value = "う" Or _
 Range("A" & i).Value = "え" Then
 MsgBox Range("A" & i).Address & " には「あ」か「い」か「う」か「え」がいるよ"
 Else
 MsgBox Range("A" & i).Address & " には「あ」も「い」も「う」も「え」もいないよ"
 End If
 Next
 End Sub
 
 Orは、上記のように"あ"の比較と同じような 式を記述し、Orでつなげなければ
 なりません。
 私は、エラーの原因だけ言及しました。
 
 
 >Q&Aサロンはマルチポストを明示的に禁じています。
 >http://excelfactory.net/excelboard/excelvba/excel.cgi?mode=all&namber=128199&rev=0
 
 マルチポストに関しては、これは規則ですから仕方ありません。
 守ってくださいね!!
 
 リンク先に色々ともっと効率的なコードの投稿がありますから、
 最終修正案は、リンク先のコードを参考にしてください。
 
 そして、リンク先で るかさんが学んだ結果(成果)をこちらにも教えてください。
 
 |  |