Kerstineには、非常に多くの異なるハイパーリンクを含むワークシートがあります。彼女は、各リンクの一部だけを置き換える方法があるかどうか疑問に思っています。

たとえば、彼女はhttp://www.mysite.com/のインスタンスをc:/ documents / mycopy /に変更したいと思うかもしれません。リンクに何か追加がある場合は、その部分を残す必要があります。したがって、たとえば、元のリンクがhttp://www.mysite.com/thispage.htmlの場合、c:/documents/mycopy/thispage.htmlに変更されます。

これは、マクロを使用して簡単に実行できます。その理由は、ハイパーリンクは通常の文字列関数を使用して調べたり変更したりできるためです。

次のマクロは、問題に対処する簡単な方法を提供します。

Sub EditHyperlinks()

Dim lnkH As Hyperlink     Dim sOld As String     Dim sNew As String

sOld = "http://www.mysite.com"

sNew = "c:/documents/mycopy/"



For Each lnkH In ActiveSheet.Hyperlinks         lnkH.Address = Replace(lnkH.Address, sOld, sNew)

lnkH.TextToDisplay = Replace(lnkH.TextToDisplay, sOld, sNew)

Next End Sub

このルーチンは、現在のワークシート内のすべてのハイパーリンクをステップスルーし、必要に応じて各ハイパーリンクに変更を加えます。必要に応じて、ハイパーリンクと表示されるテキストの両方が変更されます。必要なのは、sOld文字列とsNew文字列を変更して、検索対象と置換先を指定することだけです。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11081)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。