ホーム > IT > Excelの参照先セルから表示テキストとURLを抜き出す関数

Excelの参照先セルから表示テキストとURLを抜き出す関数


ウェブページのリストが入ったエクセルファイルがあり、ある列にはページタイトルがクリッカブルになっていました。そのタイトルとURLを別々のデータにしたいプロセスがあったのですが、抜き出す関数が用意されていないようです。(私が作業していたのはExcel2003です。) そこで、オリジナル関数を作ることにしました。プログラマではないので、美しくなかったり、記述ルールが変な場合はご容赦ください。 hyperlinkstrip(<参照先のセルアドレス>,”<抜き出すデータタイプ>”)
Function hyperlinkstrip(myLink As Range, myType As String) As String
 
   If myType = "url" Then
   
        If myLink.Hyperlinks.Count > 0 Then  ' セルがハイパーリンクになっていないとき
            
            hyperlinkstrip = myLink.Hyperlinks(1).Address
        
                If myLink.Hyperlinks(1).SubAddress <> "" Then
        
                    hyperlinkstrip = hyperlinkstrip & "#" & myLink.Hyperlinks(1).SubAddress
        
                End If
        
        Else
            
            hyperlinkstrip = ""
        
        End If
   
      Else
   
        If myLink.Hyperlinks.Count > 0 Then
        
            hyperlinkstrip = myLink.Hyperlinks(1).TextToDisplay
   
        Else
        
            hyperlinkstrip = myLink.Value
   
        End If
      
   End If
以下のような動作になります。ハイパーリンクになってないセルのときは、URLはブランクになります。
URLリンクのデータを抜き出す関数

URLリンクのデータを抜き出す関数

オリジナル関数の多用は、ファイルの共有などがしづらくはなりますが、手元の一括作業などの効率化に役立つことがあるので、作り方や何を関数にするのかの感覚を持てるとよいですね。
カテゴリー: IT タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。