エクセルでハイパーリンクに設定されているURLを、セルに表示させる方法を教えてください。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/04 10:17:26
  • 終了:2008/01/04 12:51:51

回答(2件)

id:tatsu___kun No.1

tatsu___kun回答回数230ベストアンサー獲得回数272008/01/04 11:42:53

ポイント35pt

ハイパーリンクを表現する文字列を、URIそのものにしたいということなのでしょうか?

ハイパーリンクを右クリックなどでコンテキストメニューを開き、ハイパーリンクの編集を選択。

そこで、"表現文字列"を、下部に記載されているURI文字列に変更する。

これで出来ると思いますが・・・。

http://www.dougamanual.com/blog/5/180/e1135.html

セルにURIが指し示すwebページを表示するのは出来ないと思います。

id:onoderanew

すいません。質問の仕方が悪かったです。

それを多くのセルで一括で行いたいのです。

2008/01/04 11:53:34
id:airplant No.2

airplant回答回数220ベストアンサー獲得回数492008/01/04 12:06:52

ポイント35pt

ハイパーリンクが設定されたセルそのものを直すか、別セルに取り出すかによって違う操作になります。

いずれにせよ、標準の関数や設定では、URLの取り出しはできないので、マクロ(VBA)で記述する必要があります。

●別セルに取り出す場合

 次の質問を参照して、シート上で=linkaddress(A2)のように記載すれば、URLを示す文字列が取り出しできます。ただし、文字列を取り出すだけであって、そのセルはハイパーリンクされない状態になります。

http://q.hatena.ne.jp/1196429523


●同じセル上の文字列を変えたいという場合

 変更したいセル範囲を選択してから、次のマクロを動かしてみてください。

Option Explicit

Sub SetURL()
    
    Dim r As Range
    Dim linkAddress As String
    
    For Each r In Selection
        If r.Hyperlinks.Count > 0 Then
            linkAddress = r.Hyperlinks(1).Address
            If r.Hyperlinks(1).SubAddress <> "" Then
                linkAddress = linkAddress & "#" & r.Hyperlinks(1).SubAddress
            End If
        Else
            If InStr(r.Formula, "=HYPERLINK") Then
                linkAddress = Mid(r.Formula, 13, InStr(13, r.Formula, """") - 13)
            Else
                linkAddress = ""
            End If
        End If
        If linkAddress <> "" Then
            r.Value = linkAddress
        End If
    Next
End Sub
id:onoderanew

ありがとうございました!

2008/01/04 12:51:44

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません