• 締切済み
※ ChatGPTを利用し、要約された質問です(原文:Excel 2016 ハイパーリンク一括変更)

Excel 2016 ハイパーリンク一括変更

このQ&Aのポイント
  • ハイパーリンクの参照先を一括で変更する方法を教えてください。
  • 具体的には外付けディスクの参照先を変更したいです。
  • Excel 2016でのハイパーリンク一括変更の手順を教えてください。

みんなの回答

  • ware121
  • ベストアンサー率42% (1156/2720)
回答No.5

最初が3行、F列の場合はCells(3, 6).SelectですがCells(z, z).Selectは意味がありません。削除しても構いません。ブランクは不要です。「For Each h In ActiveSheet.Hyperlinks」をマウスでなぞり色を反転させデバック(D) → ブレークポイントの設定/解除(T)をすると「For Each h In ActiveSheet.Hyperlinks」は茶色になり左端に茶色の●が表示されます。実行を押すと「For Each h In ActiveSheet.Hyperlinks」で黄色」になり停止します。F8キーを押すと次の「h.Address = Replace(h.Address, "e:\", "f:\")」で停止します。その状態で「h.Address」にマウスポインタをのせると現在の「h.Address」の値が表示されます。F8押して[Nect]が黄色になった状態でh.Address」にマウスポインタをのせると変更後の値が表示されます。ブレークポイントの解除はストップ[■]を押せば黄色は消えますのでデバック(D) → すべてのブレークポイントの解除(C)で解除されます。何分ソースの状態なので説明が分かりにくいと思います。

  • ware121
  • ベストアンサー率42% (1156/2720)
回答No.4

すみません。例の「h.Address = Replace(h.Address, "f:\ ", "e:\ ")」をコピーすると、「"f:\ "」の「f:\」と「”」の間に半角の空白が入っている為上手く文字置き換えが出来ません。現在のh.Address = Replace(h.Address, "f:\ ", "e:\ ")」を削除して次をコピーして同じ場所に貼り付けするか、空白を削除して実行すれば正常に置き換わります。 h.Address = Replace(h.Address, "f:\", "e:\")

rioriogood
質問者

補足

たびたびすみません、やはり、うまく行きません  質問ですが   >Cells(1, 1).Selectリンクされている最初の行列(ここでは1行A列)  ハイパーリンクの最初が3行、F列の場合はCells(3, 6).Selectの記述で宜しいですか  (1,のうしろにブランクが必要ですか?

  • ware121
  • ベストアンサー率42% (1156/2720)
回答No.3

1.のコピーはオリジナルファイルを残す為で、必須ではありません。13はPublic 1行目のSub RiLink()から1行1行コンパイル&実行するためです。14を実行後なにもかわりません。、デスクトップ画面下のタスクバーのExcelアイコンにマウスを置くとシート画面とVisual Basic画面が表示されますのでシート画面をクリックし、シート画面に切り換えてシート画面を前面に表示してリンクのセルを右クリック → ハイパーリンクの編集(H) → アドレス(E)が以下に変更されていることが確認できます。 1行目 f:\¥aa.pdf   → e:\¥aa.pdf 2行目 f:\¥bb.pdf → e:\¥bb.pdf . . ?行目 f:\xx.pds → e:\¥bb.pds 実行終了したことを分かるようにするには「Next h」と「End Sub」間に次ような1行を追加すれば表示されます。Msgbox("一括変更完了") 15でかわらないのはコピーのしかたの間違いと思います。2つのシートを並べてマクロのあるSheet1をマクロのないシートにドラッグ&ドロップすればコピーされます。なお、マクロ付エクセルファイルを保存する場合の拡張子はXlsmです。

rioriogood
質問者

補足

ご丁寧にご教授有難うございます。初心者で理解が浅いので、時間をかけてチャレンジしてみます。また不明の場合は再度お問い合わせさせて頂きます。宜しくお願い致します

  • ware121
  • ベストアンサー率42% (1156/2720)
回答No.2

回答が的を得ていなかったらご容赦ください、 例:Sheet1のA列から絶対アドレスでリンクしてる場合 1行目 → f:\¥aa.pdf 2行目 → f:\¥bb.pdf . . ?行目 → f:\xx.pds 1,対象のExcelファイルをコピーする。 2,コピーしたExcelファイルを開く 3、開発をクリック 4,Visual Basic クリック 5,挿入(I)クリック 6,標準モジュール(M)クリック 7,挿入(I)クリック 8,プロシージャ(P)クリック 9.名前に任意の文字を入力(例:RiLink)してOK 10、Public Sub RiLink() ~ 空白 ~ End Subが表示 11,空白に以下をコピーして貼り付け Dim h As Hyperlink Sheets("Sheet1").Select Cells(1, 1).Select For Each h In ActiveSheet.Hyperlinks h.Address = Replace(h.Address, "f:\ ", "e:\ ") Next h 12,以下完成形 Public Sub RiLink() Dim h As Hyperlink Sheets("Sheet1").Select Cells(1, 1).Select For Each h In ActiveSheet.Hyperlinks h.Address = Replace(h.Address, "f:\ ", "e:\") Next h End Sub 13,Public Sub RiLink()をクリックしカーソルを置く 14,実行(▶)をクリックするかファンクションキー(F5)を押す。 * Sheets("Sheet1").Selectはリンクされているシート名(ここではSheet1)   Cells(1, 1).Selectリンクされている最初の行列(ここでは1行A列) 15、コピー元を開き表示 → 整列 → 並べて表示でコピー元、コピーファイルを表示してコピーファイルのheet1をコピー元にコピーする 作成たコピーファイルを保存する場合は、拡張子をxlxmにして保存

rioriogood
質問者

補足

項番14、15を実行しても何も変わりません操作手順に誤りが有るのでしょうか? 13番は単にカーソルを置いておけば宜しいのでしょうか? 1.のコピーは必然ですか? お手数ですが宜しくお願いします

  • ware121
  • ベストアンサー率42% (1156/2720)
回答No.1

ハイパーリンク一括変更はVBAでしかできないようです。 https://eguweb.jp/excel/converted-link-destination-of-hyperlink-at-once 以下のようなフトもあります。 Excelで一度に複数のハイパーリンクの名前を一括変更 → https://ja.extendoffice.com/documents/excel/5906-excel-rename-hyperlink.html

rioriogood
質問者

お礼

早々の回答ありがとうございます。 VBAを使用する事は承知しており、外付けHDDのリンク先アドレスを変更する具体的コマンド&操作手順を知りたかったので質問しました

関連するQ&A