エクセルの複数のセルに入っているテキストでそれぞれのGoogle検索を一気に行う、ということは可能でしょうか?A1 「モバイル パソコン」A2 「パソコン GPS」A3 「NTT GPS」と各セルに入力されていたとして、「モバイル パソコン | あるあるエラー:シートをオブジェクト変数に入れる », Webクエリの作成方法については記事『 Webクエリまとめ 』を参照してください。, GoogleのURLは「http://www.google.co.jp/」です。これをWebクエリに使っても検索はできません。, オーソドックスな方法は、Googleのページアクセスしてテキストボックスの中に検索したい文字列を入力して検索します。, 「http://www.google.co.jp/」につづけて「search?q=」を加えます。, この後に検索したい文字列を続けたURL、例えば「http://www.google.co.jp/search?q=Excel VBA」をWebブラウザにURLとして入力してアクセスすると、「Excel VBA」で検索した場合の最初の10件の検索結果が表示されます。, 検索結果の2ページをあらわすURLは、「http://www.google.co.jp/search?q=Excel VBA&start=10」, 「&start=10」が加わりました。実は最初のページは「&start=0」です。, つまり、1件目から10件目までのページは「&start=0」11件目から20件目までのページは「&start=10」21件目から30件目までのページは「&start=30」…, http://www.google.co.jp/search?q=Excel VBA&start=0http://www.google.co.jp/search?q=Excel VBA&start=10http://www.google.co.jp/search?q=Excel VBA&start=20, 上から順に「Excel VBA」で検索した場合の最初の10件のページ、11件目から20件目までのページ、21件目から30件目までのページになります。, 「Google URL パラメータ」で検索するとこれらについて解説したページもあるようです。細かく指定すればより精度の高い検索ができるかもしれません。, まず、検索結果を入れるシートを挿入します。基本のシート名は"検索結果"ですが、同名のシートがある場合は番号を振っていきます。, このシートに、"Google検索結果"という名前のWebクエリを作成して検索結果の最初のページを取得します。, 取得した検索結果からページへのリンクとサイトの説明を"検索結果"シートにも入れます。並び順から判断して順番も入れていきます。, 余分な情報を避けるために、If文を使って必要なデータとそうでないデータをより分けています。, 最初のページの結果を取得したら次のページをWebクエリで取得します。その際のURLは最初に述べた通りです。, 次のページの結果を取得したら最初のページと同様に"検索結果"シートにデータを入れていきます。, Sub macro111022a()'Googleの検索結果をWebクエリで取得'URL2 = 検索したい文字列、複数はスペースで続ける'Start2 = 取り出す結果の数, Application.ScreenUpdating = False Dim i As Integer Dim sh1 As Worksheet Dim sh2 As Worksheet Dim sh2Row As Integer 'sh2の行を指定 Dim URL0 As String Dim URL1 As String, URL2 As String, URL3 As String Dim Start As Integer Const Start2 As Integer = 100 URL1 = "http://www.google.co.jp/search?q=" URL2 = "excel vba" URL3 = "&start=" Start = 0 '検索結果を入れるシートを作成 'シ ート名をナンバリング Set sh2 = Sheets.Add With sh2 Dim obj As Object Dim shname As String Dim NameLen As Integer Dim num As Integer shname = "検索結果" NameLen = Len (shname) num = 1Step050: For Each obj In Worksheets If obj.Name = shname Then shname = Left(shname, NameLen) & num num = num + 1 GoTo Step050 End If Next obj, .Name = shname .Cells(1, 1) = "番号 " .Cells(1, 1).ColumnWidth = 4 .Cells(1, 2) = "URL" .Cells(1, 2).ColumnWidth = 20 .Cells(1, 3) = "説明" End With Set sh1 = Sheets.Add sh1.Name = "Webクエリ" 'Webクエリ作 成 'WebSelectionType = xlEntirePage URL0 = URL1 & URL2 & URL3 & Start With ActiveSheet.QueryTables.Add( _ Connection:="URL;" & URL0, _ Destination:=Range("A1")) .Name = "Google検索結果" .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingAll .BackgroundQuery = False, .Refresh End With 'Webクエリからデー タを取得 sh2Row = 2 Step100: '"Webクエリ"シートでテキトー に80行目から For i = 80 To ActiveSheet.UsedRange.Rows.Count If Cells(i, 1).Hyperlinks.Count > 0 Then' Cells(i, 1).Select 'リンクがある場合 If IsNumeric(Left(Cells(i, 1).Hyperlinks (1).TextToDisplay, 1)) _ And InStr(Cells(i, 1).Hyperlinks(1).TextToDisplay, ". ")