全国の賃貸マンション賃貸アパートなどお部屋探しから、賃貸生活お役立ちサービスまで情報満載!

賃貸アパート・賃貸マンションなど賃貸情報を扱う賃貸物件検索サイト「CHINTAI」
物件を探す不動産会社を探すタウン情報を調べるお部屋探しガイド お気に入り物件を見る保存条件で検索
ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4151859 InnerHtmlで取得したページから複数のセルで該当の文字列がないか検索したい
質問者:tak_017 InnerHtmlでページを取得して、その中に文字列が含まれるか検索させるExcel VBAを作ろうと思っています。
悩んでいるのが検索する文字列がひとつのセルではなく、複数のセルになった場合どう処理するのかということです。
その範囲内でひとつのセルの文字列を検索し、次のセルの文字列へ、を範囲内で繰り返させるにはどうすれば良いでしょうか。

〜中略〜
Dim mojiretsu As Long
mojiretsu = ThisWorkbook.Sheets("キーワード").Range("A1:C10")
If InStr(1, objIE.Document.Body.InnerHtml, mojiretsu) <> 0 Then
MsgBox hiduke & "の含まれた記事があります。"
Else
End If

これではセルがひとつだけ指定すれば上手く行くのですが、範囲にするとエラーになってしまいました。
困り度:
  • 困っています
質問投稿日時:
08/07/04 23:25
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 こんにちは。

ループで検索語を切り替えながら順次処理していけば良いのでは?

Dim src As String
Dim r  As Range

' // objIE には IE が参照され、目的とするページの Document が
' // 取得できているものとします

src = objIE.document.body.innerText
For Each r In ThisWorkbook.Sheets("キーワード").Range("A1:C10")
  If Len(r.Text) Then
    If InStr(src, r.Text) > 0 Then
      MsgBox r.Text & "の含まれた記事があります。"
    End If
  End If
Next

といった感じです。ところで。。。

  > Dim mojiretsu As Long

となってますが、変数名や話の流れから考えれば

  Dim mojiretsu As String

ですよね? また、

> MsgBox hiduke & "の含まれた記事があります。"

変数 hiduke は初出ですが、いきなり、なぜ日付...?

と、いろいろとツッコミどころが多いのですが、転記ミスですか?
単一セルの場合は成功とのことですが、この点から心配です^^;
回答者:KenKen_SP
種類:回答
どんな人:一般人
自信:参考意見
回答日時:
08/07/05 02:11
この回答へのお礼KenKen_SPさん
ツッコミどころおおくて申し訳ないです(^^;
ここに書き込んでいる間にも試行錯誤していたら転記ミスしてしまったようです。
For Eachだけて何とかなると思っていましたが、KenKen_SPさんの参考式のLenとの組み合わせで解決することができました。
ありがとうございましたm(__)m