• ベストアンサー

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

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

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

こんな感じで如何でしょうか。 HYPERLIN関数でも直接設定でも どちらでも機能します。 使用例: セルA1にハイパーリンクが設定してあるとき  =GetLinkAdr(A1) 直接設定している場合は、そのセルで一つ目に設定したもののアドレス(セル参照を除く)を返します。 もし、引数にセル範囲を指定した場合は、その最左上セルを対象とします。 標準モジュールに下記コードを貼付けます。 Function GetLinkAdr(Rng As Range) As String Dim StrAdr As String Application.Volatile With Rng.Cells(1)   If .HasFormula Then     If InStr(.Formula, "=HYPERLINK") = 1 Then _         StrAdr = Split(.Formula, Chr(34))(1)   Else     If .Hyperlinks.Count > 0 Then _         StrAdr = .Hyperlinks(1).Address   End If End With GetLinkAdr = StrAdr End Function

その他の回答 (2)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

>直接URを入力して自動的にできたものと、方法は変わるの でしょうか? ↓はセルに直接記述されたメールアドレスやURLを取得する ユーザー定義関数です。関数でハイパーリンクしたものには 使えません。 Function hypa(c As Range) hypa = c.Hyperlinks(1).Address End Function

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

ハイパーリンクは関数で作ったものですか? それとも直接メールアドレスやURLを入力したものですか?

mac_us
質問者

補足

関数で作ったものです。 直接URを入力して自動的にできたものと、方法は変わるのでしょうか? L

関連するQ&A

  • Excel ハイパーリンクのURLを別のセルに表示したい。

    Excel ハイパーリンクのURLを別のセルに表示したい。 例えば、A1セルに「あいうえお」と入力され、かつハイパーリンクで、 「http://www.aiueo.com」というURLがリンクされているとします。 この、「http://www.aiueo.com」を B1セルに表示させたいです。 なにか良い関数やフリーソフト等はありませんでしょうか?? (ACCESSの場合は、簡単なクエリーのみ利用できるレベルです。) よろしくお願いします。

  • ハイパーリンクのアドレスを取得したい

    A1セルにリンクが張ってあるのですが、 それをVBAを使って、B1セルにA1のアドレスを書き出したいのですが、 どうすればいいですか? Sub test() Range("b1").Value = Range("a1").Hyperlink.Address End Sub だと、 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」 となってしまいます。

  • Excelのhperlink関数で作ったモノをハイパーリンクに置き換えたい

    Excel2007を利用しています。 A1にSONY ハイパーリンクの挿入で文字列SONY、アドレスhttp://www.sony.co.jp B1に=hyperlink("http://www.sony.co.jp","sony") と入っているとします。B1の形式を全てA1の形式に変換したいと思っていますがどのようにやればよいかわかりません。 Hyperlink関数を使った方がいろんな面で便利とは知っているのですが、B1のhyperlink関数からA1のハイパーリンク挿入への変換を教えていただきたく思います。B列には数百社のhyperlink関数で定義された企業名があるのですが、それをAの形式に手動でなおすには時間が恐ろしくかかってしまいます。よろしくお願いいたします。

  • ExcelのワークシートをPDF変換するとハイパーリンク情報が消えてしまいます

    Excel2003でセルにURLを直接入力してツールバーのPDF MakerでPDFに変換した場合は問題なくハイパーリンクが作成できるのですが、 =HYPERLINK("http://oshiete.watch.impress.co.jp/","教えて") の様にHYPERLINK関数を使用するとPDF上では青字にアンダーライン表示になるものの、ハイパーリンクができません。 どうしたらExcelで関数を使用しつつ、PDF上でハイパーリンクを実現できるのでしょうか? ご存知の方、いらっしゃいませんか? ちなみに関数を使用していなくてもExcel2003上のURLを登録したセルで右クリック→「ハイパーリンクの編集」→「表示文字列」でURLを"教えて"に変更した場合でも同様にPDF上でハイパーリンクできませんでした。 環境は下記の通りです。 Windows XP SP3 Excel2003 SP3 Adobe Acrobat 8 standard

  • マクロにてHYPERLINKのアドレスの取得方法を教えてください。

    マクロにてHYPERLINKのアドレスの取得方法を教えてください。 HYPERLINK関数を駆使してリンクを作っています。 =HYPERLINK(CELL("address",INDEX([○○○.xls]△△△シート!$1:$65536,MATCH("文字列",[○○○.xls]△△△シート!$B:$B,),MATCH("文字列",[○○○.xls]△△△シート!4:4,))),表示文字) という感じで別Excelファイルの行と列をMATCH関数を使いアドレスを作成しています。 出来たセルにマウスカーソルを持っていくと [○○○.xls]△△△シート!$AJ$114 アドレスが表示されます。 クリックするとちゃんと飛べます。 アドレスの表示を調べてみたところ Range("A1").Hyperlinks(1).Address というように記述する事で取得出来ると書かれていたので早速試してみたのですが インデックスが有効範囲にありません。と表示されてしまいます。 アドレスを取得するにはどうしたらいいのでしょうか?

  • VBAからのHYPERLINK関数のアドレス取得法

    いつもお世話になっています。Excel 2003のVBAについてご質問させてください。 あるセル上に、下記のように別名が指定されたHYPERLINK関数があります。 =HYPERLINK(配置先, ファイル名) 現在、VBAよりHYPERLINK関数が指し示す配置先(アドレス)を取得しようと思っています。 これを取得するにはどうすれば良いでしょうか? なお、以下のような付加条件があります。かなりワガママだとは自覚していますが、 なにとぞお知恵をお貸しください。 (1)「配置先」には、実際には複雑な分岐等があり、これを生成するロジックのVBA化は困難 (2)「配置先」だけ別セルに書き出すことは出来なくはないが、今回は避けたい (3)Excel 2010でも動作する必要がある。 (3)についてはこちらで動作確認致しますので、Excel 2003での情報をお願いします。

  • EXCELのハイパーリンク関数を埋め込んだ後

    EXCEL2003を利用しています。 とある範囲にハイパーリンク関数をセルに埋め込んだ時、写真のように、 式がセルに表示されてしまって、ハイパーリンクが機能しません。 ハイパーリンクを使うために、いちいちセルを選択して、 編集画面にしてenterを押しているのですが、 これをなくすための方法、エクセルの設定、vbaなど、ご教授いただければ幸いです。 よろしくお願いします。

  • エクセルの関数で画像ファイルを開く

    エクセル97をつかってます 任意の画像「ファイル名「99999999.tif」(99999999は任意)」があり そのファイル名をA列のセルに表示し、B列のハイパーリンク =HYPERLINK("C:\Users\フォルダ名\" & A2 & ".tif) をクリックすると開くようにしております。 ところが 開きたい画像名が「99999999-1.tif」というファイル名が まざっており、この場合”ファイルがありません”となり開くことができません。 (VBAでやれば簡単ですが、エクセル関数でやらなくてはならいので困っております) どちらでも開く関数がくめないでしょうか? 詳しいかた教えて下さい。

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

    初めて質問します。よろしくお願いします。 エクセル2000を使っています。 A列に商品番号 B列にハイパーリンクを下記の関数で入力しています。 =HYPERLINK("c:\windows\デスクトップ\○○\"&A1&".jpg") デスクトップの○○というフォルダ内に商品の画像を商品番号の名前で保存してあります。 B列のハイパーリンクをクリックすればその名前の商品の画像が見れるようになっています。 商品が1000個ほどあるため、B列の関数はコピーしたのですが、今現在、どの商品の画像があるのかないのかわからない状態です。 そこで、C列にリンク先が存在するかどうかを関数で入力したいのです。そのような方法はあるでしょうか?出来ればマクロではなく関数でお願い致します。 また、その方法はエクセル2003でも問題ないかどうかもお願い致します。

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

    エクセルのあるセルにハイパーリンクの設定でURLがリンクしています。そのセルの表示にはURLではなく、いろいろな名前が表示されているのですが、このセルのURLのみを一発で読み取る方法はないのでしょうか? 例えば、違うセルにURLのみをコピーする関数など、 あったら教えて下さい。 今は1回1回ハイパーリンクの編集を開いて行っているのですが、非常に数が多いため効率を上げたいと思っています。 まだまだ、素人でよく分からないことが多いのですが、 どうぞよろしくお願いします。

専門家に質問してみよう