WebブラウザからリンクをExcelにコピーすると、ハイパーリンクと呼ばれる状態が設定され、クリックでURLを開くようになる。このセルを編集しようとしてマウスでクリックすると、Webブラウザが開いてしまう。そこで、ハイパーリンクを削除する方法を紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Office 2013/2016/2019/365
Webブラウザからコピーした範囲にリンクが入っていた場合、そのまま「Microsoft Excel(エクセル)」に貼り付けると、青字に下線のついたテキストとなり、クリックするとWebページが開く「ハイパーリンク」になる。ハイパーリンクは、特殊なセルやセル範囲の状態で、内部にURLなどのリンク先を持ち、クリックするとリンク先がWebブラウザで開かれる。
そのため、ハイパーリンクが付いたセルを編集しようとすると、ハイパーリンクがクリックされてしまい、Webブラウザが開いてイライラした経験は誰にでもあるはずだ。
そこで本Tech TIPSでは、Excelでハイパーリンクを作らないようにコピーしたり、ハイパーリンクを削除したりする方法を紹介する。
Excelのハイパーリンクのリンク先(Excelではこれを「アドレス」という)は、URLに限定されず、他のブックやシートなどへの参照も指定できる「汎用的」な仕組みである。ただし、そのためにセルを選択しようとしてクリックすると、リンク先への移動が発生してしまう。ハイパーリンクを選択するには、近隣のハイパーリンクのないセルを選択し、カーソルキーでアクティブセルを移動させて該当セルを選択するなど、扱いが少々面倒になる。
書式などと同じくハイパーリンクは、単一のセルだけでなく、複数のセル範囲に対して設定することもできる。一見、個々のセルに個別にハイパーリンクが設定されているようだが、実際にはセル範囲全体に1つのハイパーリンクが設定されていることがある。編集時には、これを区別することは難しく、ハイパーリンクを解除したときに他のセルが同時に解除されることぐらいでしか確認できない。
これは、ハイパーリンクがセルの値ではなく、セルに対して設定される「状態」だからである。イメージ的にはハイパーリンクとは、アドレスを開く透明なボタンがセル範囲を覆っているような状態になる。このためセルを選択しても、数式バーで編集できるのは表示されている文字列だけだ。ハイパーリンクは、条件付き書式などと同じく、セルの値ではなく、セルやセル範囲に対して付加できる属性の一種ともいえる。ただ、条件付き書式ほど編集サポート機能が提供されていないため、扱いが面倒になっている。
基本的にハイパーリンクが自動的に作成されるのは、ブラウザからリンクを含むHTMLなどをコピーして貼り付けた時である。このため、[形式を選択して貼り付け]などでHTML以外の「テキスト」などを選択すれば、貼り付け先のセルにハイパーリンクは付かない。
ハイパーリンクを編集/解除するには、セルを選択した状態で[Ctrl]+[K]キーを押す。すると[ハイパーリンクの編集]ダイアログが開く。同様の操作は、[挿入]タブの[リンク]ボタンをクリックすることでも行える。
[ハイパーリンクの編集]ダイアログの「表示文字列」が、セルに表示されている文字列(リンク文字列)である。リンク先URLは、「アドレス」欄に表示されている。
また、ダイアログ右下側の[リンクの解除]ボタンを押すと、セルのハイパーリンクが削除され、表示文字列だけになる。ハイパーリンクがセル範囲(複数のセル)に設定されている場合でも、その中から1つのセルを選択して、リンクの解除を行うと、セル範囲全体のハイパーリンクが解除される。
もし、ハイパーリンクのURLが必要ならば、[Ctrl]+[K]キーで[ハイパーリンクの編集]ダイアログを開き、「アドレス」欄をコピーすればよい。その後、[リンクの解除]ボタンをクリックして、セルのハイパーリンクを解除し、元のセルなり、他のセルにURLを貼り付ければいいだろう。
ただし、この[ハイパーリンクの編集]ダイアログによる操作は、単一のハイパーリンクに対してのみ有効である。個別のハイパーリンクを持つ複数セルを選択しても[ハイパーリンクの編集]ダイアログが編集対象にするのはアクティブセル1つだけだ。現在のExcelでは、多数のハイパーリンクがあっても、1つ1つ解除していかねばならない。
シート内に多数のハイパーリンクがあり、これを解除したいとき、マクロの利用を考慮すべきだろう。マクロを使えば、ハイパーリンクが10個でも、100個でも、たとえ1万個でも、一瞬で全てを解除できる。もちろん、マクロはよく分からないので触りたくないから、時間がかかっても1つ1つ手作業で解除するという選択もあるだろう。
人によって違いはあるものの、既に作られたマクロの導入だけなら作業は簡単にできる。このため、マクロの準備時間を含めても、おそらく、10〜20個のハイパーリンクを手作業で解除するよりも早く終わるはずだ。
ここで一歩踏み出せば、次からは、ハイパーリンクは幾つあっても簡単に解除できる。また、日常的な作業でも、Webブラウザから何も気にすることなく、リンクを含むコンテンツをコピーして、Excelにハイパーリンクとして貼り付け、これを後から、URLにでもリンクテキストにでも簡単に変換できるようになる。
マクロを使うには、Tech TIPS「Excel自動化への第一歩 マクロ(VBA)を使えるようにする」を参考にして、マクロを使うための準備をしていただきたい。取りあえず[開発]タブを表示させるだけよい。マクロを扱う基本的な方法は、この記事に解説してある。ここでは、この記事を前提に、ハイパーリンクを変換するマクロとその使い方を解説する。
今回、ハイパーリンクの自動処理のために作成したマクロは以下の4つである。
マクロの名前 | 内容 |
---|---|
ハイパーリンクをURLに変換 | 選択したセル範囲内のハイパーリンクをURLに変換 |
ハイパーリンクを名前に変換 | 選択したセル範囲内のハイパーリンクを表示文字列に変換 |
ハイパーリンク関数に変換 | 選択したセル範囲内のハイパーリンクをHyperLink関数に変換 |
ハイパーリンクを2つのセルに分解 | 選択したセル範囲内のハイパーリンクを表示文字列に変換し、右隣のセルにURLを書き込む |
作成したハイパーリンクを解除するマクロ |
もう1つ、オマケで、指定したセルのハイパーリンクからURLを取り出すワークシート関数も作成した。これは、既にあるハイパーリンクをそのままにして、URLだけを取り出す関数だ。
以上のマクロおよび関数のリストは、記事の最後に掲載してある。このリストは、上記の全てを含むものなので、必要に応じてこの中から必要なマクロや関数を取捨選択しても構わない。その場合でも以下の操作手順は同一である。
もし、マクロに慣れていない場合には、これから解説する作業を行う前に、ハイパーリンクを処理したいブックを1つだけを残し、他のブックは全て閉じておくことをおすすめする。マクロを編集するVisual Basic Editor(以下「VBE」)の左側のプロジェクトエクスプローラーには開いているブックが全て表示されてしまうため、対象ではないブックに誤ってマクロを作ってしまう可能性があるからだ。
Copyright© Digital Advantage Corp. All Rights Reserved.