Excelのセルをコピペして、Google検索する方法

このQ&Aのポイント
  • ExcelのA列に記入されたキーワードをコピペして、Google検索を効率的に行いたいです。Excelのハイパーリンクやエクステンションを使用する方法がありますが、一つずつしかできず効率的ではありません。Pastyというエクステンションを使えば、URLをコピペしてGoogle検索できますが、キーワードの場合はどのようにすれば良いでしょうか?Excel 2016を使用しています。
  • ExcelのA列に記入されたキーワードをコピペして、効率的にGoogle検索する方法を教えてください。Excelの式やツール、エクステンションを使用することはできますか?PastyというエクステンションはURLをコピペしてGoogle検索できるようですが、キーワードをコピペする方法はありますか?Excel 2016を使用しています。
  • ExcelのA列に記入されたキーワードを一括でコピペして、Google検索をしたいです。Excelのハイパーリンクやエクステンションを使用する方法はありますが、一つずつしかできませんし、規制があるようです。PastyというエクステンションではURLをコピペして検索できますが、キーワードをコピペする方法はありますか?Excel 2016を利用しています。
回答を見る
  • ベストアンサー

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を使っています。 よろしくお願いいたします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.9

回答したつもりができてなかったみたいなので再度 https://qiita.com/shibahead/items/c092fbd125c08b686dd9 上記を参考にしてshellにしてみました。 IEだと表示待ちができるようなのですがChromeのやりかたがわからないので一律2秒待ちにしてみました。 Sub Example2() Dim myword As String Dim myurl Dim i As Long For i = 1 To Selection.Count myword = Selection(i).Value myurl = "https://www.google.co.jp/search?hl=ja&source=hp&q=" & UrlEncodeUtf8(myword) CreateObject("wscript.shell").Run myurl, 1 Application.Wait Now + TimeValue("00:00:02") Next End Sub Function UrlEncodeUtf8(ByRef strSource As String) As String Dim objSC As Object Set objSC = CreateObject("ScriptControl") objSC.Language = "Jscript" UrlEncodeUtf8 = objSC.CodeObject.encodeURIComponent(strSource) Set objSC = Nothing End Function

mute_low
質問者

お礼

回答ありがとうございます! ポップが出ずに、検索することができるようになりました! 途中で、ロボットでない確認の画面がありますが、 それを通れば、検索して調べることができます。 本当にありがとうございます! これで、作業を進めることができます。 kkkkkmさん、 ありがとうございました。

その他の回答 (9)

  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.9

いろいろ検索していたらハイパーリンクを使わない方法がありました。 shellで開いたら毎回新しいウィンドウで開くのだと思ってたので頭から除外してましたが、すでにブラウザが開いていると新しいタブで開きました。 Functionは検索文字列をURL用に変換するものです。 https://qiita.com/shibahead/items/c092fbd125c08b686dd9 Sub Example2() Dim myword As String Dim myurl Dim i As Long For i = 1 To Selection.Count myword = Selection(i).Value myurl = "https://www.google.co.jp/search?hl=ja&source=hp&q=" & UrlEncodeUtf8(myword) CreateObject("wscript.shell").Run myurl, 1 If i = 1 Then Application.Wait Now + TimeValue("00:00:02") End If Next End Sub Function UrlEncodeUtf8(ByRef strSource As String) As String Dim objSC As Object Set objSC = CreateObject("ScriptControl") objSC.Language = "Jscript" UrlEncodeUtf8 = objSC.CodeObject.encodeURIComponent(strSource) Set objSC = Nothing End Function

  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.8

セルにハイパーリンクを作らないでハイパーリンクすることができることが分かったのでこちらにしてみたらどうでしょう。ハイパーリンク利用してるので同じかもしれませんが…。 Sub Example() Dim i As Long Dim StrURL As String If Selection.Count <> WorksheetFunction.CountA(Selection) Then MsgBox "選択したセルにデータのないものが含まれています.", vbInformation Exit Sub End If For i = 1 To Selection.Count StrURL = "http://www.google.co.jp/search?hl=ja&source=hp&q=" & Selection(i).Value ActiveWorkbook.FollowHyperlink Address:=StrURL, NewWindow:=True If i = 1 Then Application.Wait Now + TimeValue("00:00:02") End If Next i End Sub

  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.7

> 少し時間を置きながらでないとダメなのかもしれないです。 うーん…なんなのでしょうか。 検索したら サーバ証明書を正常な状態にしたらよかった とか カスペルスキーの信頼済みサイトにしたら とか出るんですが、いつもエラーになる時の対処法みたいなので違うような感じですし…。 こちらでも何回かやってみたのですがエラーが出ないんです…。

mute_low
質問者

お礼

やはり、いくつか検索していると、 同じポップが出てきますね。 「デバッグ」を見てみると、 Range("C4").Hyperlinks(1).Follow NewWindow:=True の部分に黄色いマーカーで表示されます。 この部分が関係しているようですが、 記述を変えたほうが良かったりするのでしょうか?

  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.6

すみません、あと Next i Set HLink = Nothing を逆にしてください。 Set HLink = Nothing Next i 入れるところを間違いました。 このせいかもしれません。

mute_low
質問者

お礼

Application.Wait Now + TimeValue("00:00:02") だけにして、 Set HLink = Nothing Next i にしましたが、変わらず、 実行時エラー '-2146697208(800c0008)' 必要な情報をダウンロードできません。 というポップが出て来ますね。 普通にGoogle検索する分には、できるのですが、 ハイパーリンクで止まるように、マクロでも止まるようです。 少し時間を置きながらでないとダメなのかもしれないです。

  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.5

あと、たぶん関係ないとは思いますが、最初の2秒待ちを毎回2秒まってみたらどうなのかなとも思います。 If i = 1 Then Application.Wait Now + TimeValue("00:00:02") End If を Application.Wait Now + TimeValue("00:00:02") だけにする。

  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.4

> これは、Google側に止められているということでしょうか? こちら(Excel2013)で20件ほどのデータで試してみたのですがエラーにはなりませんでした。 HTTP関連のエラー (たぶんHTTP関連だと思います)関してはよくわからないのですみません。 エラーメッセージで検索するとなにかいろいろ出てくるのですが、何が相当するのかよくわかりませんでした。

  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.3

2013でしか動作確認していませんが 以下のような動作でしょうか(検索ワードごとに別タブで開く) 最後に1個目だけ2秒待ちを入れているのはブラウザが起動したばかりで2個目の検索を始めると1個目のタブに上書きするので。 C4は適当な作業用のセルを指定してください。 Sub Exapmple() Dim HLink As Hyperlink Dim i As Long If Selection.Count <> WorksheetFunction.CountA(Selection) Then MsgBox "選択したセルにデータのないものが含まれています.", vbInformation Exit Sub End If For i = 1 To Selection.Count Set HLink = ActiveSheet.Hyperlinks.Add(Anchor:=Range("C4"), _ Address:="http://www.google.co.jp/search?hl=ja&source=hp&q=" & Selection(i).Value, _ TextToDisplay:=Selection(i).Value) Range("C4").Hyperlinks(1).Follow NewWindow:=True Range("C4").Hyperlinks.Delete Range("C4").ClearContents If i = 1 Then Application.Wait Now + TimeValue("00:00:02") End If Next i Set HLink = Nothing End Sub

mute_low
質問者

お礼

回答ありがとうございます! マクロを動かしてみた所、理想の形ができました。 ただ、いくらか動かしていると、 実行時エラー '-2146697208(800c0008)' 必要な情報をダウンロードできません。 というポップが出てきます。 これは、Google側に止められているということでしょうか? これを避けるようにするには、どのようにすればいいでしょうか?

  • yumi0215
  • ベストアンサー率30% (1335/4411)
回答No.2

下記関数を使って結果をコピペするのはいかがでしょうか。ダブルクォーテーションは半角空白を入れています。 =CONCATENATE(A1," ",A2," ",A3," ",A4)

  • kon555
  • ベストアンサー率52% (1748/3351)
回答No.1

vbaで組むのがいいんですが、個人的にはあまりVBAとブラウザ連携っていい印象がない(トラブルが多く労力がかかる)ので別解を。 外部ソフトが使用できる環境なら、フリーのキーボードマクロをオススメします。キーボード操作、マウス操作が記録できるので、工夫次第でかなり柔軟な運用ができます。 https://jun1ch.com/himacroex

関連するQ&A

  • IE上でGoogleで検索した結果とGoogleChromeで検索した

    IE上でGoogleで検索した結果とGoogleChromeで検索した結果が違う? パソコン教室で講師をしています。 インターネットの授業のときに、ある生徒さんが「Googleでは見つからないものでも(同じキーワードで検索しても)GoogleChromeでは沢山見つかります」と発言されました。 私は「GoogleChromeは一つのブラウザで、検索エンジンは同じGoogleを使っているので、そんなことは基本的にはありえないのではないですか」と言いましたが、これで正しいのでしょうか?

  • Google検索をして、その下に検索結果(URL)

    A列1行から、ずっと右へキーワードが記入されています。 調べたいキーワードは、400近くあります。 その1行目にあるキーワードをGoogle検索をして、 検索結果のURLだけを、そのキーワードの下に表示させたいです。 検索結果は全部で10ページくらい、大体100個のURLになるかと思います。 (youtube動画や広告などは含めないです) このようなことは、Excelのマクロでできるでしょうか? できるとしたら、どのようなマクロの記述になるでしょうか? Excel2016です。 よろしくお願いいたします。

  • グーグルクローム アドレスバーでの検索について

    グーグルクロームのアドレスバーで検索するときに、 例えば「GoogleChrome」と打ってエンターキーを押すと、 「Google Chrome 新しいタブ」という検索履歴が勝手に出てきて、そのままエンターキーを押すと、「Google Chrome 新しいタブ」で検索されてしまうんです。 これがたまらなく鬱陶しいのです。どうにかなりませんか?

  • エクセルで複数のセルの内容を「ハイパーリンクを生かしたまま」単一のセルに結合したい

    エクセルで複数のセルの内容を「ハイパーリンクを生かしたまま」単一のセルに結合したいのですが、どのようにしたらよろしいのでしょうか? たとえば、 セルA1に、「ヤフー」という文字列が入っていて、Yahoo!Japanへのハイパーリンクが設定されており、 セルA2に、「グーグル」という文字列が入っていて、Googleへのハイパーリンクが設定されている といったケースです。 &を使って A1&A2 としてみたのですが、文字だけがつながって、ハイパーリンクが失われてしまいました。これをハイパーリンクを生かしたまま、他の一つのセルに表示させたいのですが、どのようにしたらよろしいのでしょうか? できれば、マクロを使わないで考えたいと思っています。 よい知恵がございましたらよろしくお願いします。

  • Google検索の結果を、Excelにまとめる

    とあるキーワードでGoogle検索をして、 その検索結果をExcelにまとめたいです。 まとめたい情報は、検索結果のサイトタイトルとURLです。 検索結果の全てをExcelにまとめたいです。 おそらく100件くらい?だと思います。 これを、マクロを組んで自動でできたりするでしょうか? どのような記述でできるでしょうか? Excel2016です。 よろしくお願いいたします。

  • A列と完全一致したセルとその右隣だけを残す

    A列に10000行ほど、キーワードが記入されています。 B列~Q列にもキーワードが記入されていて、 そのB列~Q列内で、A列と完全一致したセルとその右隣だけを残す(他のセルは空欄にする) という風にしたいです。 例: A列 B列 C列 D列 E列 東京 東京 ラーメン 大阪 ケーキ 神奈川 岡山 お好み焼き 広島 イカ焼き 静岡 沖縄 そば 石川 パスタ 大阪 滋賀 コーヒー 大阪 たこ焼き ↓ A列 B列 C列 D列 E列 東京 東京 ラーメン 神奈川 静岡 大阪 大阪 たこ焼き このような形になるのが理想です。 これは、マクロでできるでしょうか? どのような記述でできますか? よろしくお願いいたします。

  • エクセル ピボットテーブルで同一列内の同じ文字を抽出

    マクロを使い、ピボットテーブル上でA列の任意の文字をクリックすると、 A列を検索して同じ文字があれば抽出した行を反転?(青くなる奴です)したいです。   A    B    C  ・・・ 1 大阪  50 2 静岡  15 3 東京  33 4 大阪  14 5 大阪  05 6 東京  88 この場合、セルA5の"大阪"をクリックするとA列の1行目と4,5行目の"大阪"の文字をキーワードに、1・4・5行を反転させたいのですが可能でしょうか? 当方エクセル、VBAともに初心者です。よろしくお願いします。 補足 A6セルをクリック(A6セルの上にカーソルがある状態)すれば3・6行を反転という事です。

  • excelでデータ検索

    excelでのデータ検索をする関数について教えてください。 例えば下のような4列の表があるとします。   A B  C D  東京 1 社長 あ  東京 1 部長 い  大阪 1 課長 う  大阪 2 部長 え A~C列の値をキーにして、D列の値を見つけたいのですが (例えば(東京,1,部長)なら「い」という風に。) 何か使える関数はあるのでしょうか。 lookup関数とかだと、1列の値しか対象にできないので..。 よろしくお願いします。

  • 検索時の予測キーワードにつきまして

    googleで何か検索したとき、東京、大阪、福岡など、場所によって表示される予測キーワードって違う場合があるでしょうか? ジャンルは何でもいいのですが、大阪では表示されるけれど、東京では表示されないキーワードもあるのでしょうか? 予測キーワードとは、下記のようなことです。 たとえば、「自動車」と入力すると、「自動車 学校」や「自動車 税」と表示される部分のことです。 宜しくお願い致します。

  • エクセルのマクロでセルの内容によって行を挿入

    エクセルのマクロでこんなことは出来るのでしょうか。   A    B 1 東京  1 2 大阪  3 3 札幌  2 4 福岡  1 5 横浜  2 上記のような表をマクロの処理で下記のように書き換えることは出来るでしょうか。   A    B 1 東京  1 2 大阪  1 3 大阪  1 4 大阪  1 5 札幌  1 6 札幌  1 7 福岡  1 8 横浜  1 9 横浜  1 B列に入ってる数字の分だけ行を作りたいのです。 (B列の数字マイナス1行を挿入する形になります) 書き換えがややこしければ、別の場所に作り直してもかまわないので お願いします。