リンクのある単語の膨大なリストがあります。すべてのURLには、繰り返されるテキストが含まれています。このテキストを別のテキストにまとめて置き換えたいと思います。現在、「すべて置換」は単語間のみを検索し、単語の後ろに埋め込まれたハイパーリンクは検索しません。
助けてください。ありがとう。
これを行う唯一の方法は、マクロを使用することです。
Public Sub ReplaceHyperlinkURL(FindString As String, ReplaceString As String)
Dim LinkURL, PreStr, PostStr, NewURL As String
Dim FindPos, ReplaceLen, URLLen As Integer
Dim MyDoc As Worksheet
Dim MyCell As Range
On Error GoTo ErrHandler
Set MyDoc = ActiveSheet
For Each MyCell In MyDoc.UsedRange
If MyCell.Hyperlinks.Count > 0 Then
LinkURL = MyCell(1).Hyperlinks(1).Address
FindPos = InStr(1, LinkURL, FindString)
If FindPos > 0 Then 'If FindString is found
ReplaceLen = Len(FindString)
URLLen = Len(LinkURL)
PreStr = Mid(LinkURL, 1, FindPos - 1)
PostStr = Mid(LinkURL, FindPos + ReplaceLen, URLLen)
NewURL = PreStr & ReplaceString & PostStr
MyCell(1).Hyperlinks(1).Address = NewURL 'Change the URL
End If
End If
Next MyCell
Exit Sub
ErrHandler:
MsgBox ("ReplaceHyperlinkURL error")
End Sub
ReplaceHyperlinkURLコードは、VBAコードモジュールに配置する必要があります。スプレッドシートから、Alt + F11を押してVBAエディターを開きます。次に、メニューから[挿入]-[モジュール]を選択します。コードをコピーしてモジュールに貼り付けます。次に、モジュールを保存します。
プロシージャを実行するには、次の行を含むマクロを作成し、Excelでマクロを実行します。必ずFindTextを検索したいアドレスの部分に置き換え、ReplaceTextを置き換えたいテキストに置き換えてください。
ReplaceHyperlinkURL( "FindText"、 "ReplaceText")を呼び出します