• ベストアンサー

Excelの文字を検索させるVBA

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

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

  • ベストアンサー
  • 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

専門家に質問してみよう