今、EXCEL のVBAを作成していて行き詰ってしまいました。
エクセルのシート(sheet1)に10桁数字が列にいくつかあります(E5からE6,E7へと毎日更新していきます)。
その10桁の数字を1つ選択(セルの数字をクリックするイメージでいます)してあるインターネット上のページの検索欄に自動記入→検索させたいと思っています。
その記入から検索までのおおまかな物は完成したのですが、セルを選んでという所がよくわかりません。
わかりにくい説明ですが、どうぞよろしくお願いいたします。
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub kensaku()
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate ("http://www.○○○○")
i = 0
Do Until ie.busy = False Or i > 10
Sleep (1000)
i = i + 1
Loop
If i > 10 Then
MsgBox ("タイムアウト")
Exit Sub
End If
ie.document.all.Idno.Value = "ここに選択したセルの数字を入れたい"
ie.document.all.Search.Click
End Sub
といった感じです。
私自身は、excel vba はかじった程度でここまでも色々と調べながらやっとたどりつきました。
どうぞ、初心者でもわかりますように、ご説明よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
#3です
ちょっと説明を端折りすぎました、すいません
対象ワークシートモジュール
処理を行いたい(今回はsheet1)、シートタブを右クリック
一番下の「コードの表示」を選択し、表示されるのがワークシートモジュールです
標準モジュール
このモジュールの下に、Module1、Module2などを作成し
コードを書きます
Sub kensaku()はここにかかれていると思います
理解を深めるために、あえてサンプルを二例
'対象ワークシートモジュール
'こちらはお薦め、ダブルクリックで処理を開始します
'処理対象セルは D1:D10 です
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
'D1:D10以外のセルは処理中止
If Intersect(Range("D1:D10"), Target) Is Nothing Then Exit Sub
'選択セルが空白なら処理中止
If Target.Value = "" Then Exit Sub
'標準モジュールの「sub test」に選択セル情報を渡し処理する
test Target 'ここを変更 kensaku Target
Cancel = True
End Sub
'対象ワークシートモジュール
'こちらはセルを選択するだけで処理を開始します
'処理対象セルは E1:E10 です
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Range("E1:E10"), Target) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
test Target 'ここを変更 kensaku Target
End Sub
'標準モジュール
Sub test(picup As Range)
MsgBox "選択したセルアドレス:" & picup.Address(0, 0)
MsgBox "選択したセルの値:" & picup.Value
End Sub
新しいファイルで試した方が良いと思います
それぞれをシート及び標準モジュールにコピペ
対象範囲内のセルを選択したり、ダブルクリックしたり
データを入力、削除など処理内容を確認してみてください
これで分るかな?
No.3
- 回答日時:
よく分かりませんが
こんな感じ?
'対象ワークシートモジュール
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
kensaku Target
End Sub
Sub kensaku(picup As Range) '追加
:
:
>ie.document.all.Idno.Value = "ここに選択したセルの数字を入れたい"
ie.document.all.Idno.Value = picup.Value '追加
:
:
End Sub
ご回答ありがとうございます。
すみません上手くいきませんでした。といいますか、私はまだまだ素人ですので、お答えいただいた内容が上手く盛り込めなかったようです。もしお時間がお許しになりましたら、(今でも十分わかりやすい内容ですが)素人でもわかるような記述でお答えいただけたらうれしく思います。勝手お言い申し訳ありませんがよろしくお願いいたします。
No.2
- 回答日時:
InputBoxメソッドを使われてはいかがでしょうか。
下記ページを参考にしてみてください。
解らなければ補足をいれてください。
実は奥が深いInputBox
http://officetanaka.net/excel/vba/tips/tips37.htm
この回答への補足
自分なりにものすごくおしい所までたどりついたのですが、ネットページの検索欄にexcelに書かれた数値でなく undefined と表示されてしまいました。何度も無理をいいますが教えてくださいませ。お願いします。
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub セル選択()
Dim buf As Range
Set buf = Application.InputBox(Prompt:="セルを選択してください。", Type:=8)
Range("H2") = buf
End Sub
Sub kensaku()
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate ("http://www.○○○○")
i = 0
Do Until ie.busy = False Or i > 10
Sleep (1000)
i = i + 1
Loop
If i > 10 Then
MsgBox ("タイムアウト")
Exit Sub
End If
ie.document.all.Idno.Value = H2
ie.document.all.Search.Click
End Sub
Sub startネット検索する()
Call セル選択
Call kensaku
End Sub
教えていただいた所を読みこのような感じで作成してみました。
よろしくお願いします。
No.1
- 回答日時:
>"ここに選択したセルの数字を入れたい"
取りあえず。下記でためしてください。
ie.document.all.Idno.Value = Activecell.value
ご回答ありがとうございます。
すみません質問がへたくそでした。申し訳ありません。
例えば、sheet1のE5に1234567890という数字があってその数字を選択すると、ie.document.all.Idno.Value =○○ の○○に1234567890という数字が入りネットページ上のIdnoに12567890が自動記入されSearchがクリックされるといった具合になります。
E5がE7やE9の違う数字を調べたい時もありますので、セルをクリックしての選択式でなんとか出来ないかなと思いまして。
どうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数式内の文字色を一部だ...
-
貼り付けで複数セルに貼り付けたい
-
(Excel)数字記入セルの数値の後...
-
【エクセル】IF関数 Aまたは...
-
Excelでのコメント表示位置
-
エクセルで指定したセルのどれ...
-
エクセルの書式設定の表示形式...
-
セルをクリック⇒そのセルに入力...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
Excel 例A(1+9) のように番地の...
-
【Excel】 セルの色での判断は...
-
エクセルで住所と建物名を分け...
-
セルの高さ(行高)を求めるには?
-
excelの特定のセルの隣のセル指...
-
Excel2003 の『コメント』の編...
-
エクセル オートフィルタで絞...
-
エクセル 足して割る
-
エクセルの一つのセルに複数の...
-
EXCEL VBA セルに既に入...
-
Excelで教えてください。 バー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
【エクセル】IF関数 Aまたは...
-
Excelで数式内の文字色を一部だ...
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
対象セル内(複数)が埋まった...
-
【Excel】 セルの色での判断は...
-
エクセル オートフィルタで絞...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
Excel 例A(1+9) のように番地の...
-
エクセルのセルの枠を超えて文...
-
エクセル 足して割る
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excel for Mac使用中ポインタが...
-
エクセルで住所と建物名を分け...
-
EXCEL VBA セルに既に入...
おすすめ情報