• ベストアンサー

エクセルでリンクされているURLを取り出したい

EXEL2003です。 A列にサイト名が並んであり、すべてにURLアドレスがハイパーリンクされています。 つまりA列のどれかのセルをクリックするとブラウザが立ち上がり、リンク先のURLに飛びます。 この状態で、B列にハイパーリンクされているURLアドレスを入れたいのですが、どうすればいいのでしょうか? ひとつひとつなら手作業でできるのですが、数が多いので困っています。 よろしくお願いします。

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

  • ベストアンサー
  • mab_2288
  • ベストアンサー率100% (1/1)
回答No.3

失礼しました。VBの掲示板ではありませんでしたね。 しかし、Excel の通常操作では難しいような気がします。 参考までに、マクロの登録&実行方法を記しておきます。 注:マクロを使うには、マクロのセキュリティーレバルを 「中」以下にしておく必要があります。 (1)(下準備)ツール ⇒ マクロ ⇒ セキュリティ  「中」か「低」にチェックを入れる ⇒ OK  (「高」になっていた場合、一度Excelを再起動する) (2)(VBの起動)ツール ⇒ マクロ ⇒ Visual Basic Editor  (この操作のショートカットは Alt + F11 です) (3)(コードの書き込み)VBの画面が出たら、  挿入 ⇒ 標準モジュール  Module1 が挿入されますので、右側の広い場所へ  下記コードをコピ&ペーストしてください。  (sub からEnd Sub まで10行) Sub リンク表示() Dim I As Integer For I = 1 To 9999  If Cells(I, 1).Value = "" Then  Exit For  End If Cells(I, 2).Select Selection.Value = ActiveCell.Offset(, -1).Hyperlinks(1).Address Next I End Sub (4)(書き込み終了)VBの画面は閉じてください。  (この操作のショートカットは Alt + Q です) (5)(マクロの実行)あとは登録したマクロを動かすだけです。  ツール ⇒ マクロ ⇒ マクロ  (この操作のショートカットは Alt + F8 です)  今回は、「リンク表示」しかないはずですから、  実行を押してください。 A列に値があって、ハイパーリンクが設定してないセルが ある場合、エラー表示がでます。その時は、「終了」を 押下してください。 (不完全なコードですみません。どなたか修正していただければ、 ありがたいのですが。。。)

yoshinobu_09
質問者

お礼

ありがとうございます。 やってみます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

A1にハイパーリンクがあるとして B1に=A1 と入れて、式を複写すればよいのではないですか。

yoshinobu_09
質問者

お礼

ありがとうございます。 URLではなく、A1の文字(サイト名)が複写されました。

  • mab_2288
  • ベストアンサー率100% (1/1)
回答No.2

この方法でいかがでしょう? ハイパーリンク未設定の場合のエラー回避の 方法が分かりませんでした(初心者なもので) が、 >すべてにURLアドレスがハイパーリンク とのことですので、正常に動くと思います。 Sub リンク表示() Dim I As Integer For I = 1 To 9999 '↓A列が空白になるまで処理を繰り返す If Cells(I, 1).Value = "" Then Exit For End If '↓B列のセルにA列のハイパーリンク先のアドレスをpasteする Cells(I, 2).Select Selection.Value = ActiveCell.Offset(, -1).Hyperlinks(1).Address Next I End Sub

yoshinobu_09
質問者

お礼

ありがとうございます。 しかし、残念なことによくわかりません。 これはマクロですか? マクロのやりかたを知らないので、勉強してみます。

  • shisui77
  • ベストアンサー率32% (25/76)
回答No.1

A列のハイパーリンクを一旦解除して、 B列の作業をすればよいのかな? 右クリック→ハイパーリンク→ハイパーリンクの解除 が役に立ちませんか。 1つ1つが面倒なら、キーボードで全部選択してとか。

yoshinobu_09
質問者

お礼

ありがとうございます。 A列に例えば「リンク集01」という名前があります。 これが「http;//xxx」というところにリンクされています。 この「http://xxx」の部分を取り出したいわけです。 またハイパーリンクの削除は同時に複数できないようです。

関連するQ&A

  • エクセルでのリンクの貼り方

    EXEL2003を使用しております。 A列にサイト名、B列にそのURLの一覧が入っています。 C列にサイト名にURLをリンクしたものを作成したいのですが、 どうすればよいのでしょうか? マクロを使うのだとおもうのですが、 やり方を教えてください。 よろしくお願いします。

  • EXCEL セル値のシートにリンクを付ける

    同じブック内の別シートのセルにハイパーリンクを設置したいのですが、 シートの選択を、セルの値に設定する事は出来ないでしょうか。 シート1: A列:シート名       B列:各シートへのハイパーリンクを付けたいセル B1セルに、A1セルのシート名シートのA1セルへのリンク B2セルに、A2セルのシート名シートのA1セルへのリンク を付けたいのです。 シート名はたびたび変更をするため、 A列のシート名を変更すると、各シート名も変更になるように設定しています。 よろしくお願いいたします。

  • エクセルのハイパーリンクが飛ばない

    エクセルのセルに文字を入力し、その文字をクリックすると YOUTUBEのある動画に飛ぶようにしようと思い ハイパーリンクの設定を行いましたが 同じ方法でいくつかのセルに設定し、ちゃんとリンクが飛ぶものも ありますが、殆どがその文字をクリックするとブラウザーが 立ち上がって 「お使いのブラウザーは最新です」という訳の 分からないメッセージが出てきます。 ハイパーリンクのURL間違いかな? と思い そのセルで右クリックして、ハイパーリンクの設定を押して 下側のアドレスという項目を確認すると URL自体は間違えてないです。 確かめる為に、そのURLをコピーしてブラウザーのアドレスの所に コピペしたらちゃんと動画は再生されました。(URL間違いではない) それでは何がおかしいのでしょうか? お詳しい方教えてください よろしくお願いします。

  • エクセル2003でハイパーリンクのセルからURLアドレスを取得する関数はありますか?

    エクセル2003でハイパーリンクのセルからURLアドレスを取得する関数はありますか? ハイパーリンクを作成する関数は、=HYPERLINK("URLアドレス", "表示名称")で可能ですが、この逆で、"URLアドレス"を取得する関数を探しています。 例えばこのセルが、A1にあったとして、B1に =A1とすると、B1には「表示名名称」が表示されます。 C1に「URLアドレス」を表示させるVBAでなく関数が知りたいです。 無ければ、VBAでも構いません。 よろしくお願いいたします。

  • エクセルのURLリストで、一度にリンクを設定・解除したい

    エクセルにURLがたくさんあります。 ひとつひとつダブルクリックすると、自動的に同じURLにハイパーリンクが設定されます。 設定されたセルを右クリックして、メニューから「ハイパーリンクの削除」を押すとリンクが解除されます。 これを一度に複数のセルで行うことは可能ですか? 沢山あるので、いちいち手動でやっていると大変です。 よろしくお願いします。

  • ”エクセル2003”文章内のURLハイパーリンク

    エクセル2003を使っています。 セル自体のハイパーリンクはできるのですが、 文章にURLがふくまれていてその部分だけをハイパーリンクすることはできるのでしょうか? セル自体をハーパーリンクするとURL部分以外をクリックしても飛んでしまいます。その部分だけをリンクしたいのですが。。。

  • (エクセル)ハイパーリンク先のURLをセルに表示

    教えてください。 エクセル2000で、 列Aに数字がはいっていて、その数字があるURLに、 ハイパーリンクしています。 列Bにそのハイパーリンク先のURLを表示させたいのですが、 可能ですか? 可能でしたら、どうしたらいいですか? よろしくお願いします。

  • excelのハイパーリンクの文字が化ける

    excel のセルに、urlアドレスを入力し、ハイパーリンクをつけています。 そのハイパーリンクをクリックして、ブラウザでみると、URLの一部が文字化けして、該当ページはありません、という表示がでてしまいます。 URLの文字列には、#が入っており、 ブラウザのアドレスをみると、「#」が、「%20-%20」 に変わってしまっています。 たとえば、下記のようなアドレスの形です。 アドレス例:http://okwave.jp/question/index#001 (エクセルのセル)   →http://okwave.jp/question/index%20-%20001 (ブラウザのアドレスバー) microsoft office2010 で、InternetExplore 11 を使用しています。 解消方法をお分かりになる方がいらっしゃいましたら、ご教授ください。 宜しくお願いいたします。

  • EXCEL urlを一括で開きたい

    excelで、複数のセルにurlデータが入っています。 それらを選択した分だけ一度にブラウザで開きたいです。 いわば、ハイパーリンクをクリックしてウェブページを1つ開く方法の複数同時版です。 元データは、ハイパーリンクのついてないurlデータ入りセルが多数です。 ネット検索すると、ハイパーリンク付きのセルならマクロで複数一度に開く方法がのってました。 ところが、多数のすっぴんurl入りセルにハイパーリンクを付ける方法がわからず、代替案としてHYPERLINK()関数で隣列にざっとハイパーリンクを作りましたが、それだとネット検索で書かれているような、マクロで一括オープンの方法、例えばhttp://www.excel.studio-kazu.jp/kw/20091105204156.htmlなどです。他の似たようなコードも試しました。が起動しませんでした。直でセルにハイパーリンクをつけてないとネット検索の方法は無効でした。 このような状況です。つまり、 「多数のすっぴんurl入りセルにハイパーリンクを直接一度に付ける方法」 もしくは 「HYPERLINK()をかませて間接的に取得したハイパーリンクデータからマクロ等で一括でurlを開く画期的な方法」 があれば、この問題は解決するといった状況ではないかと思います。 EXCELのプロのみなさん、アドバイスをよろしくお願いします。

  • エクセルにおけるシート間のリンクについて

     いつもお世話になっております。  エクセル(Office2019)におけるシート間のリンクについて、お教えください。  下記のようなシートがあるとします。  10人しか入力していませんが、実際は500人ほどいます。 【シート名「購入者」】 A列      B列 1 氏名   住所 2 あああ アアア 3 いいい イイイ 4 ううう ウウウ 5 えええ エエエ 6 おおお オオオ 7 かかか カカカ 8 ききき キキキ 9 くくく ククク 10 けけけ ケケケ 11 こここ コココ  上記「購入者」シートの氏名と住所を領収書シートに入力してある領収書の枠(セル)にリンクさせたいと思います。  ただ、この領収書シートは200枚分が横にズラッと並んでいます。  実際の領収書の形を表示するのは難しいので、「購入者」シートの氏名と住所をどこのセルにリンクさせたいか文字で表記します。 【シート名「領収書」】 シート名「購入者」のA2セル(あああ) → シート名「領収書」のC4セルへリンク シート名「購入者」のB2セル(アアア) → シート名「領収書」のC5セルへリンク シート名「購入者」のA3セル(いいい) → シート名「領収書」のJ4セルへリンク シート名「購入者」のB3セル(イイイ) → シート名「領収書」のJ5セルへリンク シート名「購入者」のA4セル(ううう) → シート名「領収書」のQ4セルへリンク シート名「購入者」のB4セル(ウウウ) → シート名「領収書」のQ5セルへリンク シート名「購入者」のA5セル(えええ) → シート名「領収書」のX4セルへリンク シート名「購入者」のB5セル(エエエ) → シート名「領収書」のX5セルへリンク シート名「購入者」のA6セル(おおお) → シート名「領収書」のAE4セルへリンク シート名「購入者」のB6セル(オオオ) → シート名「領収書」のAE5セルへリンク シート名「購入者」のA7セル(かかか) → シート名「領収書」のAL4セルへリンク シート名「購入者」のB7セル(カカカ) → シート名「領収書」のAL5セルへリンク シート名「購入者」のA8セル(ききき) → シート名「領収書」のAS4セルへリンク シート名「購入者」のB8セル(キキキ) → シート名「領収書」のAS5セルへリンク シート名「購入者」のA9セル(くくく) → シート名「領収書」のAZ4セルへリンク シート名「購入者」のB9セル(ククク) → シート名「領収書」のAZ5セルへリンク シート名「購入者」のA10セル(けけけ) → シート名「領収書」のBG4セルへリンク シート名「購入者」のB10セル(ケケケ) → シート名「領収書」のBG5セルへリンク シート名「購入者」のA11セル(こここ) → シート名「領収書」のBN4セルへリンク シート名「購入者」のB11セル(コココ) → シート名「領収書」のBN5セルへリンク  一応、規則正しく7つ飛びずつ横にずれていく配置となっています。  インターネットでこのようなリンクがスムーズにできる関数等があるか調べましたが、思ったようなものは見つかりませんでした。  数がそれほど多くなければ一つ一つ手入力していくこともできますが、200枚もの領収書に手入力していくのは大変です。  上記のようなリンクがスムーズにいく方法をお教えくださいますよう、よろしくお願いいたします。

専門家に質問してみよう