関数だけでなんとかしたい・・・!という気持ちはあったのですが、ハイパーリンクだけはどうしてもVBA経由でしか取得ができないようです。せめてどこでも取得できるようにと、ハイパーリンクを取得する関数を作って利用しています。その利用までの手順と実際の使用例をまとめています。主に自分用です。
関数登録
VBAにハイパーリンク取得関数を登録します。
工程 | 作業イメージ |
---|---|
(1)「開発>コードの表示」クリックする | ![]() |
(2)「VBAProject>挿入>標準モジュール」をクリックする | ![]() |
(3)下記をはりつける | ![]() |
(4)VB編集画面を閉じる(Alt+Q) |
(3)ではりつけるもの
Function GetHyperlink(セル As Range) As String
Dim sp As Shape
If セル.Hyperlinks.Count > 0 Then
GetHyperlink = セル.Hyperlinks(1).Address
End If
For Each sp In ActiveSheet.Shapes
If セル.Address = sp.TopLeftCell.Address Then
GetHyperlink = GetHyperlink & vbLf & sp.Hyperlink.Address
End If
Next
End Function
実際に使ってみる
(1)任意のセルに以下を記入する
=GetHyperlink(A1(セル))
変更履歴
- 2017/01/04 手順変更。スマートにしました。