• ベストアンサー

EXCEL上URLデータに一括ハイパーリンク

他のデータベースからEXCEL2003シートに移した URLデータが2万件ほどあります。 現状では、そのURLの入った2万個のセルがハイパーリンク化 されていません。 すべてのセルを一括でハイパーリンク化する方法はないでしょうか。 入力オートフォーマットの設定で、 現在は、一旦1件ずつ入力状態にしたあとエンターすると 自動でハイパーリンク化するのですが、 件数が多いのでとてもやりきれないのです。 (ハイパーリンクを一括で外す方法は見つかったのですが、 その逆がわかりません・・・)

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.3

HYPERLINKと言う関数がありますので、それを利用した方法。 (Excel2000で動作確認) A列にURLがあるとすれば、他の列に下記の数式を入れます。 =HYPERLINK(A1,A1) ヘルプをご覧になれば分かると思いますが、 1つ目の引数がリンク先(URL)で、2つ目がセルに表示する文字です。 この方法は簡単ですが、URLが入ったセルに直接リンクを貼る事は出来ません。

JUN-KUMA
質問者

お礼

おーっ! まさに思い通りの結果を出すことが出来ました。 HYPERLINK という関数があることは知りませんでした。 本当にありがとううございました。 助かりました。

その他の回答 (2)

  • chem_taro
  • ベストアンサー率32% (33/101)
回答No.2

#1です。 よく読んだら、URLの入ったセルにリンクを貼るようですね。 であれば、以下のコードでOKだと思います。 Sub url_set() oColumn = Selection.Column oRow = Selection.Row owidth = Selection.Columns.Count ohight = Selection.Rows.Count For i = 0 To owidth - 1 For j = 0 To ohight - 1 setdata = Cells(j + oRow, i + oColumn) If setdata <> "" Then Cells(j + oRow, i + oColumn).Hyperlinks.Add Anchor:=Cells(j + oRow, i + oColumn), Address:=setdata End If Next j Next i End Sub コード入力後、範囲指定してマクロを実行すればハイパーリンクが貼り付けられます。

JUN-KUMA
質問者

お礼

VBAですね。 いつかは勉強しようと思っていたので張りきってやってみます。 丁寧な回答を何度も本当にありがとうございました。

  • chem_taro
  • ベストアンサー率32% (33/101)
回答No.1

機能としては見あたらなかったので、マクロを組んでみました。 Sub url_set() urlsheet = InputBox("URLが保管されているシート名は?") oColumn = Selection.Column oRow = Selection.Row owidth = Selection.Columns.Count ohight = Selection.Rows.Count For i = 0 To owidth - 1 For j = 0 To ohight - 1 setdata = Sheets(urlsheet).Cells(j + oRow, i + oColumn) If setdata <> "" Then Cells(j + oRow, i + oColumn).Hyperlinks.Add Anchor:=Cells(j + oRow, i + oColumn), Address:=setdata End If Next j Next i End Sub ツール(T)→マクロ(M)→Visual Basic Editor(V) でMicrosoft Visual Basicを開きます。 そして、プロジェクトというウインドウにSheetが縦に並んでいると思いますので、どれでもいいのでダブルクリックしてください。 すると、そのSheetのコードを記述するウインドウがでますので、上のコードをコピー&ペーストしてください。 終わったらMicrosoft Visual Basicを閉じて、Excelのウインドウに戻ります。 使い方ですが、まず準備として別シートにURLを入力しておきます。この際に、貼り付けるセルとURLのセルを一致させておいてください。(A1にはりつけるURLは別シートのA1に記載します。) URLを貼り付けたいところを範囲選択して ツール(T)→マクロ(M)→マクロ(M) で、Sheet○_url_setをダブルクリックすれば、シート名を聞いてきますので、URLをセットしたシート名を入力すれば、URLをはりつけます。(対応セルにURLがない場合は無視します) 突貫作業なので何か問題がありましたら言ってください。

関連するQ&A

  • EXCEL urlを一括で開きたい

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

  • excelに入力したURLに、一括してハイパーリンクを付けるには?

     rtsp://から始まり、それぞれ内容が違うURLを、エクセルの「A1」から「A150」のセルに入力してあります。  現在は、ハイパーリンクがついていない状況です。  これに対して、入力した文字列と同じハイパーリンクを一斉に付けるにはどうしたらよいでしょうか。  現状では、一行ずつ「挿入」-「ハイパーリンク」で作業しなければならなく、とても大変です。  IEやWORDなどのソフトを併用してもかまいません。

  • エクセル ハイパーリンク

    エクセル ハイパーリンクについての質問です。 エクセルで元データ用シートと検索用シートを作成したのですが検索用シートにハイパーリンクをかけたいのですが検索するたびに検索結果によってハイパーリンクでとばしたい場所を変えたいのですがそのような事は出来るのでしょうか? 検索用シートの "B1" のセルに「あ」と入力すると元データ用シートの 「あ」ではじまる単語を 検索用シートの "C1" から縦に順番にVLOOUPでひいてきているのですが検索するたびに単語がことなる為、毎回ハイパーリンクでとばす場所を変えたいのですが? 今は、1つのセルには同じ所へのハイパーリンクしかかけられのですが。 それか、オートフィルタであるセルに入力すると自動でオートフィルタがかかるなどでもよろしいのですがいかがでしょうか?

  • エクセル2003 勝手にハイパーリンクが復活してしまい困っています

    エクセルのセルがハイパーリンクだらけに なってしまい、コチラで拝見させていただいた方法で 何度も一括削除しているのですが しばらく作業をしていますと セルに元々設定されていたハイパーリンクが 復活してしまいます。 どなたか一度ハイパーリンクを削除したら 勝手に復活しない方法を教えていただけないでしょうか。 またハイパーリンクを削除すると書式がリセットされてしまい 罫線もなくってしまいますがそれの回避の仕方もご教授お願い 致します。 よろしくお願い致します。 [入力オートフォーマット]の[インターネットとネットワークのアドレスをハイパーリンクに変更する]チェックは Offにしてあります

  • エクセルのハイパーリンクについて

    エクセルに入力されたURL(リンクされていない)に、 一括でハイパーリンクをはることは可能でしょうか?? 例)   A列  http://○○○  http://△△△  http://□□□    ↓  上記のセルをすべて選択して、一括でハイパーリンク もちろん、一つ一つは可能ですが、実際は5000行ほどあります・・・ 唐突な内容ですが、よろしくお願い致します。

  • EXCEL内のハイパーリンクが活きていないセル?を一括で

     受け取ったEXCELデータのセルにハイパーリンク(http:)が入っているのですが、これが活きていません。 ※何と表現すれば一般的なんでしょう?青色+下線になっていなくて、そのままでは飛ばない状態。  よって、一行一行、「F2」-「Enter」として、有効化(青色+下線)して行っているのですが、数十行くらいなら良いのですが、千行とかではたまりません。何とか一括でやる方法はないものでしょうか?  また、以前、入手したリストは有効化(青色+下線)済みの物でしたが、今回の様な物と、根本的にどう言う仕組みの違いでこうなってしまうのでしょうか?

  • EXCELのハイパーリンク

    EXCELのハイパーリンクについて教えて下さい。 EXCELにて700件程のハイパーリンクを作成しようと考えていますが数が多いため1件ずつハイパーリンク先を設定するには多くの時間と労力を要しますのであらかじめローカルフォルダ名とファイル拡張子を入力しておき、ファイル名だけを入力すればハイパーリンクを自動設定する方法はないでしょうか? お手数ですがお知恵をお貸し下さい。宜しくお願いします。 例) ・セルA1にローカルフォルダ名又はURLの一部 ・セルB1にファイル名又はURLの一部 ・セルC1にファイル拡張子又はURLの一部 これらを結合(A1&B1&C1)したハイパーリンク先をセルD1に表示すると共にセルD1をローカルフォルダ内のファイル又はサイトを自動的にハイパーリンク設定させる。

  • ExcelでハイパーリンクのURLだけを抽出するには・・・?

    Excel2000を使っています。 文字列にハイパーリンクが設定してあるデータがあるのですが、この設定してあるURLだけを別のセルに抽出する方法はないでしょうか? 今は該当文字列を右クリックして、ハイパーリンクの編集からURLをコピーしている状態ですが、もっといい方法があるのではないかと思い質問しました。 ご教授よろしくお願い致します。

  • エクセルで画像のハイパーリンクを一括表示させる方法

    エクセルに貼り付けた画像にハイパーリンクをしています。 過去の質問を調べ、セルの文字に張ったハイパーリンクのURLを一括で読み取る方法はわかったのですが、画像に張ったハイパーリンクを一括で読み取る方法はありますか? もし、ありましたら教えて下さい。 よろしくお願いします 参考にした過去の質問 http://oshiete1.goo.ne.jp/qa1545446.html

  • excelのハイパーリンク

    現在、顧客名簿がexcel97にて作ってあります。 シート1に顧客情報、シート2に作業履歴を打ち込んでハイパーリンクで繋げようという魂胆です。 しかし作業履歴は当然増えるので、セルを挿入して書き加えると、ハイパーリンクの指定座標は変わらないのでこのままでは使えません。 セルや列、行の挿入にハイパーリンクが対応する、良い方法はありませんでしょうか?

専門家に質問してみよう