Excel のアンカー テキストから URL を抽出する

Excel のアンカー テキストから URL を抽出する

私の質問に合うものを探してこのスレッドを調べましたが、ほとんどのトピックは近いものでしたが、私の質問に特有のものではありませんでした。

Excel のアンカー テキストから URL を抽出しようとしています。

これには数式がありますか? 試してみると=GETURL=HYPERLINKURL がバインドされたアンカー テキストが引き続き挿入されます。

何かアイデアはありますか? マクロ ソリューションはあまり役に立たないので、数式があると便利です。そうでなければ、マクロを私に任せてください。

答え1

ハイパーリンクを含むセルがあり、「フレンドリ名」ではなく URL を表示する場合は、次のユーザー定義関数 (UDF) を検討してください。

Public Function hyp(r As Range) As String
    hyp = ""
    If r.Hyperlinks.Count > 0 Then
        hyp = r.Hyperlinks(1).Address
        Exit Function
    End If
    If r.HasFormula Then
        rf = r.Formula
        dq = Chr(34)
        If InStr(rf, dq) = 0 Then
        Else
            hyp = Split(r.Formula, dq)(1)
        End If
    End If
End Function

この UDF は、挿入されたハイパーリンクと =HYPERLINK() 関数の両方で機能します。

ユーザー定義関数 (UDF) はインストールも使用も非常に簡単です。

  1. ALT-F11でVBEウィンドウが開きます
  2. ALT-I ALT-Mで新しいモジュールを開く
  3. 内容を貼り付けてVBEウィンドウを閉じます

ワークブックを保存すると、UDF も一緒に保存されます。2003 以降のバージョンの Excel を使用している場合は、ファイルを .xlsx ではなく .xlsm として保存する必要があります。

UDF を削除するには:

  1. 上記のようにVBEウィンドウを開きます
  2. コードを消去する
  3. VBEウィンドウを閉じる

Excel から UDF を使用するには:

=ハイプ(A1)

マクロ全般の詳細については、以下を参照してください。

http://www.mvps.org/dmcritchie/excel/getstarted.htm

そして

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

そして

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

UDFの詳細については

これを機能させるにはマクロを有効にする必要があります。

関連情報