[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ハイパーリンクの一括オープン』(龍の字)
[エクセルのバージョン]Excel2003,Excel2002
[OSのバージョンの例] WindowsXP
ハイパーリンクについて教えてください。よろしくお願いします。
A1セル には ヤフーのURL、A2セル には 楽天のURLというようにA1からA10までいろいろなURLを入力するとします。
何かボタンを押せば、A1からA10のセルの中でURL入力があるセルのハイパーリンクをブラウザの複数タブで一括に開く、、というような事がやりたいですが可能でしょうか?
セルにURL入力があるか、確認範囲をA1からA20など任意で設定でき、セルが空欄の場合
そのセルはスキップし最後のセルまで確認、URLがあればリンクを開く、、というものです。
範囲確認はA1〜A10
もし、A1にハイパーリングがあれば、そのURLを開く
もし、A2が空白なら、次のセルを確認する
もし、A3にハイパーリンクがあれば、そのURLを開く
A10まで繰り返し
というイメージです。
登録URL数や、登録していくURLが定期的に変わるので、ブラウザのタブのグループ化
では都合が悪く困っております。
今、毎日20くらいのURLを一つ一つクリックして開いておりまして、自動化できないかと
質問させていただきました。
解決方法のわかる方、アドバイスを何卒お願いします。
>確認範囲をA1からA20など任意で設定でき ここのイメージがよくわかりません。
事前に範囲を選択する? どこかに範囲を入力する? ボタンを押したら、範囲の確認がある?
とりあえず、二つ作ってみました。 ひとつは、選択している範囲で開きます。 「列全体」とかで選択すると 大変なことになるかもしれません。
もうひとつは、A列の最終行までの範囲にしています。
IE7で動作確認をしました。 実行前にIEが開いていたら その続きに開きます。
'------ Sub 選択範囲の() Dim sr As Range For Each sr In Selection If sr.Hyperlinks.Count > 0 Then sr.Hyperlinks(1).Follow End If Next End Sub '------ Sub A列の() Dim i As Long For i = 1 To Range("A" & Rows.Count).End(xlUp).Row If Range("A" & i).Hyperlinks.Count > 0 Then Range("A" & i).Hyperlinks(1).Follow End If Next End Sub '------
(HANA)
マクロボタン作るの初めてだったのですが、教えていただいたコードを
貼り付ければそのままできました。
指導いただいた内容の使い方がよくわからなかったのですが、
セルA列にたくさんリンクを入力した上で、タブで一括オープンしたい部分のセル範囲を選択し、
ボタンを押したらブラウザのタブで一括にオープンしてくれました。
本当にありがとうございました。
事後ながらですが、、、、
>確認範囲をA1からA20など任意で設定でき
ここのイメージがよくわかりません。 事前に範囲を選択する? どこかに範囲を入力する? ボタンを押したら、範囲の確認がある?
ちょっと伝わりにくかったですね。申し訳ないです。
A列の最終行までの範囲で全部のセルをチェックし、データが入っているセルのURLをタブで開く
ってのは大変だと思いました。ですので
例えば
A2セルに、検索開始セル番地入力できるようにする
B2セルに、検索終了セル番地入力できるようにする
C2あたりに実行ボタンがある。
A3-A100まで、サイトのURLが入力されている。
A2セルに 3 B2セルに 50 と入力しボタンを押すと
A3-A50の、47個のURLLがタブで一括に開く
そういう意味でした。前回教えていただいたものでも十分満足
しておりますが、セルの範囲選択ができればなおうれしいです。
実現可能でしょうか?
厚かましい依頼だと重々思っておりますが、可能であれば
何卒お願いいたします。
PS
毎日のこれまでの苦行が、あなた様のおかげですごく楽になりました。
感謝しております。後に続く人も幸せになれると思います。
そう言って頂けて嬉しく思います。
>A2セルに 3 B2セルに 50 と入力しボタンを押すと >A3-A50の、47個のURLLがタブで一括に開く この実現は難しい事ではありません。
((A列の)) のマクロで > For i = 1 To Range("A" & Rows.Count).End(xlUp).Row この一行が A列の「1」行目から、A列の「入力がある最終」行まで をあらわしています。
また、VBAで A2セルに入っている値 は Range("A2").Value と書けますので 「A2セルに入っている値」の行から「B2セルに入っている値」の行まで でしたら、先の部分を
For i = Range("A2").Value To Range("B2").Value
に変更してみてください。
ちなみに、上に載せた ((A列の)) のマクロは >A列の最終行までの範囲で全部のセルをチェックし、 >データが入っているセルのURLをタブで開く と言うコードに成っています。
コード自体は大変ではないですが マシンや実際にページを見る人は 大変かもしれません。^^;
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.