エクセルの複数のセルに入っているテキストで
それぞれのGoogle検索を一気に行う、ということは可能でしょうか?
A1 「モバイル パソコン」
A2 「パソコン GPS」
A3 「NTT GPS」
と各セルに入力されていたとして、
「モバイル パソコン」「パソコン GPS」「NTT GPS」
とそれぞれのGoogle検索を一度に行い、
別々のウィンドウで検索結果を開き、検索結果を比較したいのです。
検索語が少なければ、手動で行っても時間はかからないのですが、
多数の検索語のパターンで検索するため、一度にできる
方法はないかなあ、と悩んでいます。
テキストの入力されているソフトはエクセルでなくても良いのです。
困っています!
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんにちは。
一例です。IE 限定でなく、OS の規定ブラウザで開くためあえて API を使いました。
なお、コードを VBE にコピペすると Google Url の部分が若干文字化け
します。適当に直して下さい。
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Const SW_SHOWNORMAL = 1
Sub Googleで選択範囲を一括検索()
Const BASEURL As String = "http://www.google.co.jp/search?hl=ja&ie=UTF-8&q="
' // 無制限にウインドウを開くのはリソース不足が発生する可能性があるため、
' // ウインドウ数を制限する仕組みは必要かもしれない。とりあえず、簡易的
' // に選択セル数で制限しておく。
Const MAX_CNT As Long = 5
Dim url As String
Dim tmp As String
Dim r As Range
If Not TypeOf Selection Is Range Then Exit Sub
If Selection.Cells.Count > MAX_CNT Then
MsgBox "選択セル数が多すぎます(制限:" _
& CStr(MAX_CNT) & "以下)", vbCritical
End If
For Each r In Selection.Cells
If Len(r.Text) Then
url = BASEURL & UrlEncode(Replace$(r.Text, " ", " "))
Call ShellExecute(0&, "OPEN", url, vbNullString, vbNullString, SW_SHOWNORMAL)
End If
Next r
End Sub
' // URL エンコード
Public Function UrlEncode(ByVal sText As String) As String
If Len(sText) = 0 Then Exit Function
With CreateObject("ScriptControl")
.Language = "JScript"
UrlEncode = .CodeObject.encodeURI(sText)
End With
End Function
凄いすごいすごいすごい、すごいです!!!
出来ました!涙が出そうです!感動しました!!!!
こんなことができるKenKen_SPさんは凄い!
完全に途方にくれていたのですが、あっという間に
解決してしまいました!
どうやったらこんなことが出来るようになるのでしょうか?
私も勉強したら出来ますかね?
何から勉強したらいいんでしょう?
とにかく、本当にどうも有難うございました。
嬉しいです!!!!
No.3
- 回答日時:
制限・・としながら、マクロを終了させるコードが抜けてましたね。
失礼しました。下記の部分を追加して下さい。
◆誤
> If Selection.Cells.Count > MAX_CNT Then
> MsgBox "選択セル数が多すぎます(制限:" _
> & CStr(MAX_CNT) & "以下)", vbCritical
> End If
◆正 Exit Sub を追加
If Selection.Cells.Count > MAX_CNT Then
MsgBox "選択セル数が多すぎます(制限:" _
& CStr(MAX_CNT) & "以下)", vbCritical
Exit Sub
End If
あと、
> Const MAX_CNT As Long = 5
この部分を大きくすると選択できるセル数が増えますが、あまり
大きくすると OS がフリーズするかもしれないので、最大でも
10 程度までで留めて下さい。
ご丁寧に追加情報ありがとうございました。
教えていただいたのをじっくり見て、
勉強を始めたいと思います。
どうもありがとうございました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- その他(SNS・コミュニケーションサービス) Yahoo!とGoogle検索のしくみの違いを教えてください 2 2022/08/14 01:53
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- iPhone(アイフォーン) Google map のルート保存について 1 2022/05/13 11:50
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Safari(サファリ) エクセルの検索機能について教えて下さい 1 2023/03/22 17:00
- Google Maps iPhoneのGoogle検索窓を通常の大きさに 戻す方法を教えて頂けませんか?(切実) 日本全国の 2 2022/10/02 02:08
- Excel(エクセル) エクセルでこのようなことはできますか? 3 2022/07/10 19:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
Excelのチェックボックスの使い...
-
エクセル オートフィルタで絞...
-
Excelで住所を2つ(町名迄と番...
-
セルに特定の色が付いていたら...
-
枠に収まらない文字を非表示に...
-
Excel:指定セル以下全てのセル...
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excelで、「特定のセル」に入力...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルで縦に1112223...
-
セルの高さ(行高)を求めるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報