• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで大量のハイパーリンクを設定したいのですが。)

エクセルで大量のハイパーリンクを設定する方法

このQ&Aのポイント
  • エクセルの列Bの4行目以下数千行の各セルに名前を入力しており、別のフォルダにその名前と全く同じ名前のフォルダがあります。指定列の各セルにはリンク先があることだけがわかるように、「F」でも入れようかと思っています。
  • 数千のフォルダーは、フリーソフトを入手し、簡単に作成することができましたが、ハイパーリンクの設定方法が思うように見つかりません。エクセルの運用としては1年に1回同様の作業があり、来年は新しいリンクを設定する必要があります。
  • エクセルで大量のハイパーリンクを設定するためには、指定列の各セルにハイパーリンクを設定する方法を使うことができます。具体的には、セルを選択し、右クリックして「ハイパーリンクの挿入」を選択し、フォルダのパスを指定します。次に、「F」などのマークを入力することで、リンク先の存在を示すことができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • tohru999
  • ベストアンサー率49% (76/154)
回答No.1

そこのシートにボタンを作ってボタンクリック時に下のVBA実行でどうでしょうか? (ハイパーリンクのリンク先はCドライブにしています) '/* ループ開始行 Private Const CONST_STARTROW As Integer = 4 ======================================================================= Dim intEndRow As Integer '/* 列Bの最終行 Dim intLoopCount As Integer '/* ループカウンタ Dim strFolderName As String '/* フォルダ名 '/* 最終行の取得 intEndRow = ActiveSheet.Range("B" & CStr(CONST_STARTROW)).CurrentRegion.Count + CONST_STARTROW - 1 '/* 画面描画を無効に設定 Application.ScreenUpdating = False '/* フォルダ数分ループ For intLoopCount = CONST_STARTROW To intEndRow '/* フォルダ名の取得 strFolderName = ActiveSheet.Range("B" & CStr(intLoopCount)).Value '/* ハイパーリンクをセットするセルをアクティブセルに設定 ActiveSheet.Range("C" & CStr(intLoopCount)).Select '/* ハイパーリンクを設定 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="C:\" & strFolderName, TextToDisplay:="F" Next intLoopCount '/* 画面描画を有効に設定 Application.ScreenUpdating = True

amamino
質問者

お礼

丁寧なご回答を頂き、有難うございました。 現在、システムが年1回のメンテナンス中で停止していますが、復帰次第試してみたいと思います。結果は後日、追記させて頂きます。 1件ずつ設定する膨大な作業が、一気に干渉されます。助かりました。

関連するQ&A