• ベストアンサー

Excelの文字を検索させるVBA

毎日検索するワードがあるので、IEにあるgoogleツールバーにExcelの文字列を代入してタブ毎に検索結果を表示または、Excelに取り込みたいと思います。 このような事はVBAを使えば可能なのでしょうか? 抽象的な質問で恐縮ですが、おわかりの範囲でお教えください。 バージョンはExcel2003です。

  • r2san
  • お礼率25% (1309/5228)

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

ワークシートのA列に検索したい文字を打ち込んでおき、そのセルを順にクリックすると、Googleの検索を行なうマクロの一例です。 当該ワークシートのシートモジュールに書いてください。 Dim objIE As Object Private Sub Worksheet_SelectionChange(ByVal Target As Range)   If Target.Count > 1 Then Exit Sub '複数セル不可   If Target.Column <> 1 Then Exit Sub 'A列のみ対象   'IEが起動しているかチェック。objIE.Nameプロパティの取得に成功したら起動とみなす。   Dim tmp As String   On Error Resume Next   tmp = objIE.Name   If Err.Number <> 0 Then   'エラーならIEが起動していないので、起動する   Set objIE = CreateObject("InternetExplorer.Application")   End If   On Error GoTo 0   With objIE     .Navigate "http://www.google.co.jp/"     .Visible = True     Do While .Busy = True       DoEvents     Loop     .Document.getElementById("q").Value = Target.Text 'テストボックスへ入力     'オートコンプリートなどの機能が働く場合があるので、念のため待機     Do While .Busy = True       DoEvents     Loop     .Document.forms(0).submit '送信ボタンクリック   End With End Sub

r2san
質問者

お礼

ご回答ありがとうございました。 ExcelのVBAエディタにSubをつけて貼り付けたのですが実行すると「end sub」がありません。 というメッセージが出てしまいうまくいきませんでした。 私の能力不足で読みこなしができないのですが、勉強して理解できるようにしていきたいと思います。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> VBAエディタにSubをつけて貼り付けたのですが実行すると「end sub」がありません。 というメッセージが出てしまいうまくいきませんでした。 え?Subをつけて貼り付けた? いったいどこにSubをつけたのですか? 回答のコードにSubはすでに入っています。 ひょっとしてDim objIE As Object の前にでも? このDim objIE As Object はプロシージャの外に出す必要があるのでこの前にSubをいれてはだめです。 それから、回答にもわざわざ「当該ワークシートのシートモジュールに書いてください。」とことわり書きしましたが、標準モジュールではなくシートモジュールに書いたのでしょうか? シートモジュールは当該ワークシートのシートタブを右クリックして「コードの表示」で出てきます。

r2san
質問者

補足

ご迷惑をおかけしました。無事できました。お手数をおかけしました。

関連するQ&A

  • ExcelでVBAでWordの文字列一括検索

    ExcelでVBAでWordの文字列一括検索したいのですが、作成方法が 全くわかりません。 内容としては、フォルダ内の複数のWord文章の文字列を検索し、 検索結果をExcelのシートに落としたいんです。 検索内容としては、「Word文書ファイル名」、「ページ」、「行数」 がわかればOKなのですが…。 仕事で使うため急ぎなのですが、何かいい情報があれば教えてくだ さい。

  • ExcelのVBAで漢字検索

    ExcelのVBAのエディターで漢字を検索しようと入力をすると単漢字変換しかできません。熟語で変換しようとすると文字化けします。(Excel2003) これは、バグでしょうか? (VBE-編集-検索-検索する文字列での入力) どなたか?詳しい方いますか? 教えてください。 宜しくお願いします。

  • エクセルVBAがMACで動かない

    WINDOWSで開発したVBAがMAC(マック)で動かない(コンパイルエラーが起こる)という現象が起こっています。 ネットで検索していて「VBAがMACで動かないことがある」ということは認識しているのですが、 ・MACで動かすことは可能か ・動くようにするには、どうすればよいか(コードを変更する、EXCELのバージョンを変える等) の2点について教えていただければと思います。 <バージョン> OS MAC 9.1  EXCEL バージョン 「MAC EXCEL 2001」 <エラーメッセージ> SUBまたはFUNCTIONが定義されていません。 <VBA内容> エクセルシートの文字列をカンマ区切りでテキストファイルに吐き出すだけです。 一部でもお答えいただけると助かります。よろしくお願いします。

  • エクセルVBAでワードの文字を検索して置換えたい

    エクセル置換表を基に、開いてあるワードの文書内を検索して、該当の旧番号があれば、新番号に置換えるVBAのプログラムを 教えていただけませんか。 また、参考になる書籍等があれば教えていただけませんか。  【実施内容詳細】 エクセル置換表を基に、開いてあるワードの文書内(ヘッダー、フッター含)を検索して、該当の旧番号があれば、新番号に置換える。 使用ソフト ワード エクセル 2003 使用ファイル名  A.doc B.xls ステップ1 ワードの文書内に旧番号A1がないか検索して、A1があれば、新番号B1に置き換える。 ステップ2 ワードの文書内に旧番号A2がないか検索して、A2があれば、新番号B2に置き換える。 ステップ3 エクセルA列の最後(空欄)まで実施して終了する。 エクセル置換表      A列  B列     旧番号 新番号  行2  A1    B1  行3  A2    B2  以下同様   追記: マクロを使用したことはありませんので事前設定方法も教えていただけませんか。 

  • ワード2000のVBAについて

    ワード2000を使っています。 予め、A列に日本語、B列に英語を入力したエクセルファイルを作っておき、ワードファイルから、そのエクセルファイルを開いて、A列の1行目の文字をワード文章で検索し、もし、あれば、B列の1行目の文字に置き換えるという操作を、開いたエクセルの全ての行に対して行うというVBAを作ろうと思っています。 そこで、エクセルファイルを Dialogs(wdDialogFileOpen)で開き、 Selection.Findを使って、 Text に、エクセルファイルのA(n)の文字を代入し、 Replacement.Text に、エクセルファイルのB(n)列を代入し、 nを初期値1から最大行数迄、一つづつ上げていく というコードを組もうと思っているのですが、 エクセルファイルのA1やB1を指定して代入するということはできるのでしょうか? もし、ご存知の方がいらっしゃれば教えてください。 また、ワードのVBAの参考になるHPも、できれば教えてください。お願いします。

  • Excel VBAで複数のExcelブックからある文字列を検索→抽出したものをまとめたい

    Excel VBAで以下の操作は可能でしょうか。 私はAccessVBAを少しさわる程度でExcel VBAはまったくわかりませんし、 まだ現物データを見ていないので説明不足ですが、 ご存知の方がいらっしゃいましたらどうぞご回答をお願いします。 コード等もあわせて教えて下さるととても助かります。 複数のExcelブックからある文字列を検索→抽出したものをまとめたい。 ・検索抽出したい文字列の入っているセル位置は固定。 ・抽出したデータを新たなファイルにするか、どうするかはまだ未定。 ・Excelブックは100個ほどある。

  • Excelのセルをコピペして、Google検索をす

    ExcelのA列にキーワードが記入されています。  A列 1 東京 2 大阪 3 静岡 4 福岡 このA列の1~4を選択してコピペ。 コピペした1~4を↓という風に、Google検索したいです。 Google検索 東京(タブ1)|大阪(タブ2)|静岡(タブ3)|福岡(タブ4) 「Pasty」というGoogleChromeのエクステンションがあり、 それは、URLをコピペして、Google検索できるというものです。 Pastyのキーワード版で、同じようなことをしたいと思っています。 Excelのハイパーリンクで同じようなことができますが、 一つずつしかできませんし、いくつかやってると規制?で止まります。 A列にあるキーワードを効率良く、 タブで分けて、Google検索していきたいです。 Excelの式や機能、エクステンション、ツール・ソフトとかで、 Excelのセルをコピペして、Google検索をすることはできますでしょうか? できるとしたら、どのような方法がありますでしょうか? 教えていただけたら、嬉しいです。 Excel2016を使っています。 よろしくお願いいたします。

  • 他のExcelファイルのVBAコードを検索したい

    他のExcelファイルに書かれたVBAコードに、ある特定のキーワード(パス名など)が使われているかを自動的に調べるためのVBAを書きたいと思っています。 仕事で使っているマクロが書かれたExcelファイルからある特定の処理をしているマクロを含むものを検索したいのですが、検索するExcelファイルが膨大なため、順番にExcelファイルを開いてVBAコードをチェックしていく工程をマクロ化したいのです。ファイルを順に開いていく処理はマクロ化できるのですが、書かれたVBAコードのチェックをどうしたらよいか悩んでいます。 「VBAコードに対して検索する」または「VBAコードを1行ずつ変数に代入する」、「モジュールシートをテキストファイルに出力する」などの処理が自動化できれば対応できそうなのですが、そのような処理をExcelVBAで作成できるでしょうか。 なお環境はWindowsXPのExcel2003です。 よろしくお願いいたします。

  • googleのツールバーの文字が大きくなる現象の直し方

     検索エンジンGoogle のツールバーをIE5.5SP2 に組み込んで使っています。自作機でWin2000。OFFICE SR1を入れてから、OFFICE XPのWordとExcelにバージョンアップされているので、辞書はIME2000とIME Standard2002 と、ナチュラルインプット2002とかいうのがWord2002等では起動します。  問題ですが、そのGoogleツールバーへ検索キーワードを入力する文字が、いきなりでっかくなってしまう事があります。新しいIEウィンドウを開くと、そっち(新しい方)は正常なので大きな問題は無いのですが、直せるのなら直したいと思ってます。 誰か同じ症状の方、いたら教えてください。

  • 複数の検索結果をexcelに取り込む方法

    例えば、添付画像のようにexcelのあるシートのA列に検索ワードが書かれていて、それぞれの検索ワードでgoogle検索した結果(タイトル、URL)をexcelに取り込むにはどのようにしたらよいでしょうか? ・検索ワードは100個以内 ・取得するgoogle検索結果は最初の1ページの10件 ・取得する結果はシートを分けず、1枚のシートにまとめる 以上のようなことをしたいです。 少ししたいことと異なりますが、こちらの記事を試しに行ってみました。 しかし、「インデックスが有効範囲でありません」と表示されうまくいきませんでした。 http://yumem.cocolog-nifty.com/excelvba/2012/03/webgoogle-c0f1.html 行った方法 (visualBasicを開き、thisworkbookをダブルクリックーコードを貼り付けーexcelに戻り、マクロを実行) 環境:excel2007 excel初心者のわたしではまったくお手上げなので質問させていただきました。 先に記載したとおりのことをecxelでできないでしょうか?

専門家に質問してみよう