• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:InnerHtmlで取得したページから複数のセルで該当の文字列がないか検索したい)

InnerHtmlでページを取得して、該当の文字列を検索するExcel VBAの作り方

このQ&Aのポイント
  • InnerHtmlで取得したページから、複数のセルで該当の文字列を検索するExcel VBAを作成する方法を教えてください。
  • 複数のセルに分かれた文字列を範囲内で繰り返し検索するExcel VBAの処理方法を教えてください。
  • 一つのセルではなく、複数のセルに分かれた文字列を検索するExcel VBAの方法を教えてください。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.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 は初出ですが、いきなり、なぜ日付...? と、いろいろとツッコミどころが多いのですが、転記ミスですか? 単一セルの場合は成功とのことですが、この点から心配です^^;

tak_017
質問者

お礼

KenKen_SPさん ツッコミどころおおくて申し訳ないです(^^; ここに書き込んでいる間にも試行錯誤していたら転記ミスしてしまったようです。 For Eachだけて何とかなると思っていましたが、KenKen_SPさんの参考式のLenとの組み合わせで解決することができました。 ありがとうございましたm(__)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字列検索で

    よろしくお願いします。 文字列検索instr関数で、特定文字(スペース)でない文字を検索したいのですが、どのようにしたらいいですか? instr関数では、できないのでしょうか? たとえば、 文字列" osietegoo "  →  3 文字列"    situmon"  →  7 スペースでない文字が出現する位置を知りたいです。 instr(文字列,"o")ではなく、" "ではない、、、としたいのですが、できますか?

  • 複数セルから文字列を検索して・・・

    どう検索していいのかわからなかったので質問します。 複数のセルから特定の文字列を検索して、該当したセルに対応するB列の数字の合計を関数によって出したいです。 例えば画像を例にすると、A列で"()"という文字列が入っているセルがいくつかあります。 これらのセルに対応するB列の数字の合計を出したいです。 "()"は必ず文字列の末尾にくることとします。 回答よろしくお願いします。

  • Excel VBA 文字列の一部の取り消し線の判別

    ExcelのVBAでセルの中の文字列の一部に 取り消し線があるかどうかを知るにはどのように記述すればよいでしょうか。 例えば、A1セルの中にAAA,BBB,CCCと入力されていて BBBにだけ文字飾りの取り消し線が設定されているような場合、 以下のコードではELSEになってしまいます。 If ThisWorkbook.Sheets("Sheet1").Range("A1").Font.Strikethrough = True Then MsgBox ("このセルには取り消し線があります") Else MsgBox ("このセルには取り消し線はありません") End If

  • GASで文字列を下から検索し2列目から該当列を削除

    Google sheetsのGASで特定文字列を下から検索し2列目から該当列までを削除する方法を探しています。 添付図のようにダウンロードするデータに余計な区分が入っており、GASで並べ替えを行うと上に集中するので、その余分な区分の文字を含むセルの最下限の列から2列目を選択範囲にして一気に消したいです 該当の文字列を判定して消す方法だと1列ずつの処理となり、タイムオーバーを吐きまくったので、結果的に余計な列をタイムオーバーを吐かせずに消せる方法ならば何でも良いです よろしくお願いします。

  • セル内の文字列強調

    検索してセル内の任意の文字のみを強調(赤太字など)させることは出来ますでしょうか。 任意の文字については複数の文字列を一気に検索、強調表示させたいのです。 一文字の場合は下記で動作させることができました。 ◆文字列“a”のみに色を付ける -------------------------------- Sub test02() Dim c As Range For Each c In Selection s = 1 Do x = InStr(s, c, "a") If x = 0 Then GoTo p02 c.Characters(x, 1).Font.ColorIndex = 3 MsgBox x s = x + 1 Loop While Not x = 0 p02: Next End Sub -------------------------------- 複数の文字に色をつけるところでまだ悩んでいます。 やり方がわからず恐縮ですが、お教え頂けると有難いです。

  • セル内の文字列に[?]が含む場合につきまして

    お世話になります。 セル内の文字列に[?]が含む場合につきまして、ご質問致します。 OS:Windows10 Excel:2019 概要: Webページから金融明細の、お取引日【2-11- 2】をコピーしてセルA1に貼り付けします。 A1(セル)⇒【2-11- 2】 ※【2-11- 2】のスペースを詰めて【2-11-2】にしたいと思っています。 '--------------------------------------------------- ' Dim Data As String Data = Range("A1").Replace(" ", "") 'スペースを詰めることができませんでした。 'Dataは【2-11-?2】スペースでは無く【?】になっていました。 'そこで以下を検索しましたがヒットしませんでした。 If InStr(Data, Chr(63)) > 0 Then Stop '? If InStr(Data, Chr(32)) > 0 Then Stop 'スペース '--------------------------------------------------- ' 質問: スペースを詰めて【2-11- 2】⇒【2-11-2】にしたいのですが 【2-11-?2】で【?】につきまして、ご教示願えますと幸いであります。

  • 文字列検索しセルの位置が知りたい

    指定範囲内で文字列を検索し、見つかったセルの行番号、列番号を知りたいのです。 マクロでなく関数で出来るでしょうか?

  • 文字列の検索について

    RichTextBoxの文字列の中の太字にした文字列や、斜体にした文字列などを検索したいのですが、InStrでできますか? もしくは他にやり方があったら教えてください。お願いします。ちなみにVB6.0です。

  • vba:セル内変更文字列の色付け

    vbaにて別ブックの一覧を参照し、 指定範囲に検索文字列が含まれる場合 文字列の置換&対象セルの色付け& 件数の表示を行うコードから、 文字列の置換&セル内の変更した文字列のみ 色付け&件数の表示を行うコードに変更したいです。 変更した文字列のみ文字色を変更したい場合、 どのようなコードに書き換えればよろしいでしょうか。 なお、現在のコードは以下の通りです。 ============================ Sub 複数条件で一括置換する() Dim 範囲 As Object Dim 対象 As Object Dim 一覧 As Variant Set 範囲 = Selection 一覧 = Workbook("確認.xlsm").Sheets("複数条件").Range("A1:B7") Dim tmp As Variant Dim mCnt As Long 中略 mCnt = 0 For Each 対象 In 範囲 For i = LBound(一覧, 1) To UBound(一覧, 1) tmp = 対象.Value 対象.Value = Replace(対象.Value, 一覧(i, 1), 一覧(i, 2)) If tmp <> 対象.Value Then 対象.Interior.Color = vbRed mCnt = mCnt + 1 End If Next Next MsgBox mCnt & "件置換しました" Set 範囲 = Nothing Set 対象 = Nothing End Sub

  • GASで文字列を下から検索し2列目から該当列を削除

    Google sheetsのGASで特定文字列を下から検索し2行目から該当行までを削除する方法を探しています。 添付図のようにダウンロードするデータに余計な区分が入っており、GASで並べ替えを行うと上に集中するので、その余分な区分の文字を含むセルの最下限の行から2行目を選択範囲にして一気に消したいです 該当の文字列を判定して消す方法だと1行ずつの処理となり、タイムオーバーを吐きまくったので、結果的に余計な列をタイムオーバーを吐かせずに消せる方法ならば何でも良いです よろしくお願いします。 それとchatGPTでも答えは出ませんでしたので…

専門家に質問してみよう