« 前のQ&A | メインページ | 新着順一覧 | 次のQ&A »

Excel で複数セル内のアドレスにリンクを一括設定

質問Excel で複数セル内のアドレスにリンクを一括で設定できますか?

回答複数セルを一括でなら「Officeスクリプト」で可能です。

Excel では初期設定の状態でセルにアドレスを入力し、「Enter」キーを押すと、そのアドレスの文字列にリンク(ハイパーリンク)が自動的に設定されます。

クリックするとブラウザーで該当ページが開きます。

ただし、別のファイルからテキスト形式でコピーしたアドレスをセルに貼り付けた場合など、セル内のアドレスにリンクは自動設定されません。

そんなアドレスが入力されているのに自動リンク設定されていないとき、セルごとにリンクを設定する操作方法には以下の 2つがあります。

  1. アドレスが入力されたセルをダブルクリックして編集可能にして「Enter」キーで確定
  2. アドレスが入力されたセルがアクティブなとき「F2」キーを押し、編集可能にして「Enter」ーキーで確定

これでセル内のアドレス色が青く変わり、下線が表示されてリンクされたことが分かります。

たとえば縦一列にリンク設定されていないアドレスが並んでいる場合、

「F2」キー、「Enter」キー、「F2」キー、「Enter」キー...

と繰り返し入力することで次々とリンク設定することができます。

ただし、数が多くなると簡単な単純作業とはいえ手間です。

とはいえ、複数のセルを選択して「F2」キーと「Enter」キーを続けて押しても、リンク設定できるのはアクティブセルだけで、選択した複数のセルを一括でリンク設定することはできません。

 

以前、リンクを設定する「HYPERLINK」関数を使い、隣のセルにリンク設定されたアドレスを表示させる方法は紹介しました。

おさらいすると「HYPERLINK(ハイパーリンク)」関数の書式は

HYPERLINK(リンク先,[別名])

となり、「リンク先」にアドレスを入力したセルを指定すれば、

そのアドレスにリンク設定された状態でセルにアドレスが表示されます。

「A1」の下のセル(A列)にずらっと入力されたアドレスが並んでいる場合、

=HYPERLINK(A1)

を入力した「B1」セルの右下にあるハンドルを下に向けてドラッグすれば B列にリンク付きアドレスが表示されます。

 

◆◇◆

しかし上記の「HYPERLINK」関数による方法は、アドレスが入力されたセルとは別に、リンク設定されたアドレスを表示させるセルが必要で、『アドレスを入力したセルに一括でリンクを設定』とはいえません。

そこで今回は Microsoft365 の Excel で使える「Officeスクリプト」により「同じセルにリンクを一括で設定できる方法」を紹介します。

手順は以下の通り。

  1. リボンを「自動化」タブに切り替え
  2. 「新しいスクリプト」ボタンで「コードエディターで作成」を選択
    wd250924-03.png
  3. 画面左のサイドバーに表示される「コードエディター」で「名前の変更」をたとえば『URLをハイパーリンク化』で保存
  4. コード入力ボックスに、以下のスクリプトをコピー&貼り付け

=== この下の行からスクリプトをコピー ===
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 // 表示テキスト
        });
      }
    }
  }
}
== この上の行までスクリプトをコピー ===

qa251015-04.png

  1. Excel でリンク設定したいアドレスの入力されたセル範囲を選択
    qa251015-05.png
  2. 「URLをハイパーリンク化」スクリプトの「実行」ボタンをクリック
    qa251015-06.png

これで選択セル範囲のアドレスに一括でリンク設定できます。

qa251015-03.png

保存したスクリプトは何度でも利用が可能です。

qa251015-08.png

 

理解を深めるための「パソコン用語解説

記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。

スポンサーリンク

ご意見&コメント

パソコントラブルQ&A」をご利用いただき、ありがとうございます。

「参考になった」「ちょっと違うかも?」というときは TwitterFacebookページを使ってご感想やコメントをいただけると嬉しいです!励みにもなりますし、必要に応じて情報の追加や修正もしてまいります。

 

同じカテゴリー「エクセル(Excel)」のQ&A

 

同じカテゴリー「エクセル(Excel)」の用語解説

関連した記事を検索

パソコントラブルQ&A」「パソコン用語解説」では関連Q&Aや用語解説を豊富に掲載中です。検索してみてください!

« 前のQ&A | メインページ | 新着順一覧 | 次のQ&A »

年別Q&A (1210 件)

編集長のプロフィール

編集長

:パソコン生活応援アドバイザー。「なにしろパソコン.com」サイト運営、メルマガ編集、セミナー講師からコラム・書籍執筆まで実績豊富!

「パソコントラブルQ&A」ではトラブル解決のヒントなども紹介していますが、解決をお約束するものではありません。 トラブルの深刻度やご利用のパソコン環境によっては効果がなかったり、ほかのトラブルを誘発する場合もあります。そのため、作業前に大切なデータは、ご自身で必ずバックアップをおこなってください。

本サイトを参考にしたパソコン設定、サイト閲覧、紹介したソフトウエアや機器の購入&使用、そしてトラブル対応やインターネット活用は『利用者の責任』でお願いします(免責事項)。