人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: onoderanew
●カテゴリ:はてなの使い方
✍キーワード:URL エクセル セル ハイパーリンク
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tatsu___kun
●35ポイント

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

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

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

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

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

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

◎質問者からの返答

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

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


2 ● airplant
●35ポイント

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

いずれにせよ、標準の関数や設定では、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
◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ