
エクセル2003でハイパーリンクのセルからURLアドレスを取得する関数はありますか?
ハイパーリンクを作成する関数は、=HYPERLINK("URLアドレス", "表示名称")で可能ですが、この逆で、"URLアドレス"を取得する関数を探しています。
例えばこのセルが、A1にあったとして、B1に =A1とすると、B1には「表示名名称」が表示されます。
C1に「URLアドレス」を表示させるVBAでなく関数が知りたいです。
無ければ、VBAでも構いません。
よろしくお願いいたします。
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
No.2
- 回答日時:
>直接URを入力して自動的にできたものと、方法は変わるの
でしょうか?
↓はセルに直接記述されたメールアドレスやURLを取得する
ユーザー定義関数です。関数でハイパーリンクしたものには
使えません。
Function hypa(c As Range)
hypa = c.Hyperlinks(1).Address
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
Excel 例A(1+9) のように番地の...
-
エクセルで指定したセルのどれ...
-
5単位で繰り上げしたい
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
excelの特定のセルの隣のセル指...
-
セルの高さ(行高)を求めるには?
-
Excelで数式内の文字色を一部だ...
-
枠に収まらない文字を非表示に...
-
エクセルの書式設定の表示形式...
-
EXCELで一番安い金額と名前を抜...
-
Excelでのコメント表示位置
-
対象セル内(複数)が埋まった...
-
Excelで、「特定のセル」に入力...
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
エクセル オートフィルタで絞...
-
EXEL:入力中のセルの数式を非...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba テキストボックスとリフト...
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセル
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
エクセル オートフィルタで絞...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
エクセルの一つのセルに複数の...
-
excelの特定のセルの隣のセル指...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
エクセルのセルの枠を超えて文...
-
【エクセル】IF関数 Aまたは...
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
【Excel】 セルの色での判断は...
おすすめ情報