Excel で複数セル内のアドレスにリンクを一括で設定できますか?
複数セルを一括でなら「Officeスクリプト」で可能です。
Excel では初期設定の状態でセルにアドレスを入力し、「Enter」キーを押すと、そのアドレスの文字列にリンク(ハイパーリンク)が自動的に設定されます。
クリックするとブラウザーで該当ページが開きます。
ただし、別のファイルからテキスト形式でコピーしたアドレスをセルに貼り付けた場合など、セル内のアドレスにリンクは自動設定されません。
そんなアドレスが入力されているのに自動リンク設定されていないとき、セルごとにリンクを設定する操作方法には以下の 2つがあります。
- アドレスが入力されたセルをダブルクリックして編集可能にして「Enter」キーで確定
- アドレスが入力されたセルがアクティブなとき「F2」キーを押し、編集可能にして「Enter」ーキーで確定
これでセル内のアドレス色が青く変わり、下線が表示されてリンクされたことが分かります。
たとえば縦一列にリンク設定されていないアドレスが並んでいる場合、
「F2」キー、「Enter」キー、「F2」キー、「Enter」キー...
と繰り返し入力することで次々とリンク設定することができます。
ただし、数が多くなると簡単な単純作業とはいえ手間です。
とはいえ、複数のセルを選択して「F2」キーと「Enter」キーを続けて押しても、リンク設定できるのはアクティブセルだけで、選択した複数のセルを一括でリンク設定することはできません。
以前、リンクを設定する「HYPERLINK」関数を使い、隣のセルにリンク設定されたアドレスを表示させる方法は紹介しました。
- エクセル(Excel)でセル内のアドレス(URL)にリンクを設定
- パソコントラブルQ&A(2017/1/11)
おさらいすると「HYPERLINK(ハイパーリンク)」関数の書式は
HYPERLINK(リンク先,[別名])
となり、「リンク先」にアドレスを入力したセルを指定すれば、
そのアドレスにリンク設定された状態でセルにアドレスが表示されます。
「A1」の下のセル(A列)にずらっと入力されたアドレスが並んでいる場合、
=HYPERLINK(A1)
を入力した「B1」セルの右下にあるハンドルを下に向けてドラッグすれば B列にリンク付きアドレスが表示されます。
◆◇◆
しかし上記の「HYPERLINK」関数による方法は、アドレスが入力されたセルとは別に、リンク設定されたアドレスを表示させるセルが必要で、『アドレスを入力したセルに一括でリンクを設定』とはいえません。
そこで今回は Microsoft365 の Excel で使える「Officeスクリプト」により「同じセルにリンクを一括で設定できる方法」を紹介します。
手順は以下の通り。
- リボンを「自動化」タブに切り替え
- 「新しいスクリプト」ボタンで「コードエディターで作成」を選択
- 画面左のサイドバーに表示される「コードエディター」で「名前の変更」をたとえば『URLをハイパーリンク化』で保存
- コード入力ボックスに、以下のスクリプトをコピー&貼り付け
=== この下の行からスクリプトをコピー ===
function main(workbook: ExcelScript.Workbook) {
// アドレスを入力したセル範囲を選択
const selectedRange = workbook.getSelectedRange();
// 選択された各セルをループ処理
const rowCount = selectedRange.getRowCount();
const colCount = selectedRange.getColumnCount();
for (let row = 0; row < rowCount; row++) {
for (let col = 0; col < colCount; col++) {
const cell = selectedRange.getCell(row, col);
const cellValue = cell.getText();
// セルの値がURLかどうかを正規表現で判定
// http や https で始まる一般的なURL をカバー
const urlRegex = /^(https?:\/\/\S+)$/i;
if (urlRegex.test(cellValue)) {
// URLと一致した場合、ハイパーリンクを設定
cell.setHyperlink({
address: cellValue, // リンク先URL
textToDisplay: cellValue // 表示テキスト
});
}
}
}
}
== この上の行までスクリプトをコピー ===
- Excel でリンク設定したいアドレスの入力されたセル範囲を選択
- 「URLをハイパーリンク化」スクリプトの「実行」ボタンをクリック
これで選択セル範囲のアドレスに一括でリンク設定できます。
保存したスクリプトは何度でも利用が可能です。
理解を深めるための「パソコン用語解説」
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。