🐴
VBA:テキスト+URLのハイパーリンクを分離して格納する
概要
Webとかからテキストを貼り付けたときにハイパーリンクされてることってありますよね。
URLと文字列を分離したいことって多々ありますよね。
以下、ExcelVBAで解決を図ったときのやつです。
ソース
Option Explicit
'選択範囲のハイパーリンクからURLを抽出して文字列に変換し、同セルに格納する
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
Discussion