メインコンテンツへスキップ

フォーマットを削除せずにハイパーリンクを削除するにはどうすればよいですか?

Excelで、背景色、フォント、サイズなどの書式が設定されているハイパーリンクを削除すると、次のスクリーンショットと同様に書式が削除されます。 ただし、ハイパーリンクを削除するときにセルの書式を維持する必要がある場合があります。 この厄介な問題を解決するのに役立つ方法はありますか?

doc-remove-hyperlinks-without-format-1 -2 doc-remove-hyperlinks-without-format-2

VBAコードでフォーマットを削除せずにハイパーリンクを削除する


矢印青い右バブル VBAコードでフォーマットを削除せずにハイパーリンクを削除する

Excelでは、このタスクを直接処理する方法はありませんが、次のVBAコードを適用して、ハイパーリンクを削除するときにセルの書式を保持できます。

1。 を押し続けます Alt + F11 キーを押して Microsoft Visual Basic forApplicationsウィンドウ.

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュールウィンドウ.

VBAコード:フォーマットを削除せずにハイパーリンクを削除する

Sub RemoveHlinks()
'Update 20141024
Dim Rng As Range
Dim WorkRng As Range
Dim TempRng As Range
Dim UsedRng As Range
Dim xLink As Hyperlink
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set UsedRng = Application.ActiveSheet.UsedRange
For Each xLink In WorkRng.Hyperlinks
    Set TempRng = Cells(1, UsedRng.Column + UsedRng.Columns.Count)
    Set Rng = xLink.Range
    Rng.Copy TempRng
    Rng.ClearHyperlinks
    Set TempRng = TempRng.Resize(Rng.Rows.Count, Rng.Columns.Count)
    TempRng.Copy
    Rng.PasteSpecial xlPasteFormats
    TempRng.Clear
Next
End Sub

3. 次に、 F5 このコードを実行するためのキーを押すと、ハイパーリンクを含むセルを選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

doc-remove-hyperlinks-without-format-3

4。 そして、 OK ダイアログを閉じるには、ハイパーリンクは削除されますが、ハイパーリンクのフォーマット(下線を含む)は残ります。


関連記事:

Excelで一度に複数のハイパーリンクパスを変更するにはどうすればよいですか?

Excelのハイパーリンクから実際のアドレスを抽出するにはどうすればよいですか?

最高のオフィス生産性向上ツール

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
thanks for the code. I have a couple of suggested enhancements:

declare xTitleId as String for those that use Option Explicit (otherwise throws an error)

Between Rng.PasteSpecial xlPasteFormats and TempRng.Clear, I inserted the following:

With Rng.Font
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With

This removes the underline and changes the font color back to black, so the text does not look like a hyperlink anymore.
This comment was minimized by the moderator on the site
Hi, does ClearHyperlinks work with merged cells? thank you
This comment was minimized by the moderator on the site
Thanks, this worked perfectly. Saved me tons of time!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations