ここから本文です

複数セルのどこかに指定文字が含まれている場合にその行数を抜き出したいです。

siy********さん

2019/3/2712:10:18

複数セルのどこかに指定文字が含まれている場合にその行数を抜き出したいです。

Loop中の作業で

Do
if instr(cells(i,7).value,name) <> 0 then
n = cells(i,7).row
end if
i = i + 1
loop while i <> 1000

実際には同時にもう少しごちゃごちゃと処理してますが、今回はこのInstrに関して質問です。

例えば上記のような
cells(i,7).value に name が含まれている場合の行数は抜き出せています。

これを

cells(i,7)、cells(i,8)、cells(i,9)の3セルの「どれか一つでも」name が含まれていたら
行数を抜き出すというように変換したいです。


if instr(cells(i,7).value,name) <> 0 or instr(cells(i,8).value,name) <> 0 then

if instr(range(cells(i,7),cells(i,9)),name) <> 0 then
等分からないなりに試してみたのですが、うまくいきません。

他の部分をINSTR関数で書いてしまっているのでできればINSTR関数で実現できないかなと
思っております。


説明が分かりにくく申し訳ございませんが、どなたかご教授頂けないでしょうか。
よろしくお願いします。

閲覧数:
25
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

kak********さん

2019/3/2721:30:47

'コード例
Public Sub Sample()
Dim condition7 As Boolean
Dim condition8 As Boolean
Dim condition9 As Boolean

Do
condition7 = InStr(Cells(i, 7).Value, name) <> 0
condition8 = InStr(Cells(i, 8).Value, name) <> 0
condition9 = InStr(Cells(i, 9).Value, name) <> 0

If condition7 Or condition8 Or condition9 Then
n = Cells(i, 7).Row
End If
i = i + 1
Loop While i <> 1000

End Sub

質問した人からのコメント

2019/3/28 18:23:46

ありがとうございます!!
おかげさまで無事完成しました。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる