• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2013でのリンクの一括置換の方法を教えて)

エクセル2013でのリンクの一括置換の方法と原因

このQ&Aのポイント
  • エクセル2013でハイパーリンクの一括置換方法や原因について教えてください。
  • エクセル2013でのリンクの一括置換方法と、ハイパーリンクの変更原因について教えてください。
  • エクセル2013でのリンクの一括置換方法と、リンクが変更される原因について教えてください。

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

  • ベストアンサー
  • Green_Tree
  • ベストアンサー率80% (1108/1379)
回答No.4

いくつか不明点があるので確認させてください。 ・ハイパーリンクのアドレスの確認方法 file://C\Users\Admin\Music\データ file://C\Users\Admin\AppData\roaming\Microsoft\Excel\データ ↑これって、ハイパーリンクにマウスポインタを置いたときに出る小窓に表示されているアドレスじゃないですか? 「ハイパーリンクの編集」ウィンドウのアドレスで表示されているのは、データ\abc.txtなどだけではないでしょうか。 ・「データ」はフォルダかファイルか file://C\Users\Admin\Music\データ ←このデータはフォルダですか? ・Excelファイルの保存場所 問題となっているExcelファイルはどこに保存されていますか? C:\Users\Admin\Music\ ←この中ですか? (そうだとして次の不明点) ・ファイルの開き方 問題となっているExcelファイルは、どのように開いていますか? 履歴から開くのではなく、直接C:\Users\Admin\Music\にあるファイルをダブルクリックで開くとハイパーリンクのパスはどうなりますか? --------------------------------- 以上を踏まえて ファイルを直接C:\Users\Admin\Music\から開いてハイパーリンクのパスが正しいのならば、ファイルの開き方を正せばいいですね。 直接開いてもパスがおかしいのなら、そのファイル自体がおかしいか、ハイパーリンクの設定方法がおかしいか、Excelに不具合がでているか、理由はわかりません。 (テスト的に新規ファイルを作成して確認してみるとか) 最初に 「ハイパーリンクの編集」ウィンドウのアドレスで表示されているのは、データ\abc.txtなどだけではないでしょうか と聞きましたが、そうならハイパーリンクが相対パスに変換されたのが原因です。 且つ開かれたExcelファイルが C:\Users\Admin\AppData\roaming\Microsoft\Excel\ から開かれているということになります。 (相対パスだと、Excelファイル単体を他の場所に移動するとリンク切れが起こります) 正しいファイルを開いているのに、なぜ違う場所のファイルが認識されるのかはわかりません。 本来この場所は、自動回復用ファイルの作成場所なのですが・・・ もしこのまま使っていくのであれば、相対パスを絶対パスに変更すればリンク切れは防げます。 Excelそのもののオプション設定を変更するか、ファイル単体で設定するかのどちらかです。 ※参考サイト Excelオプション変更:http://blog.livedoor.jp/yorinaga/archives/51978597.html ファイル単体で設定:http://excel-ubara.com/excel2/EXCEL315.html バージョン違いますがわかりますよね。 絶対パスから相対パスに変換されるのは保存時なので、絶対パスに変更する前に設定の変更をしておきましょう。 あとは、naoto0216さんが教えてくれた方法で 置換元は データ 置換するのは C:\Users\Admin\Music\データ でしょうか。 ***【注意】*** 正確なファイルの保存場所等が把握しきれていないので、上記でもダメかもしれません。 「多分こんな構成になってるんじゃない?」という私の思い込みがあるので間違えてたらごめんなさい。 要は、元になるのはハイパーリンクの編集で表示されるアドレスです。 Cの後の:を忘れたりしてるので、お気を付けを。 ************ 実行したら、ハイパーリンクの編集でアドレスが絶対パスになっていることを確認してください。 ハイパーリンクが正しくなったのならファイル保存をして、再度ハイパーリンクの編集を開き、絶対パスのままなら大丈夫です。

この投稿のマルチメディアは削除されているためご覧いただけません。
aquo1000
質問者

お礼

> Green_Treeさん、ありがとうございます > これって、ハイパーリンクにマウスポインタを置いたときに出る小窓に・・・ おっしゃるとおりです > このデータはフォルダですか? いいえ、ファイルです > C:\Users\Admin\Music\ ←この中ですか? はい、Musicフォルダのなかに保存してます > Excelファイルは、どのように開いていますか? スタートボタンのExcelのアイコンにマウスを乗せるとメニューの横に「最近使ったもの」にファイル名が表示されますよね、そこから開いていました。 Musicフォルダから直接開く・・・ Green_Treeさんの回答で改めて直接ひらいてみたら、、、、、 ナ・・・ナント!リンクが元に戻ってます!! これで当初考えていた、「リンクの一括置換」をしなくてすみますね。 この数日間、いろいろ試行錯誤してきましたが「ファイルから直接開く」という初歩的なことで解決するなんて! 目からうろこです。 今回のこのトラブルをいい教訓に、これから絶対パスにてファイルを作成しようと思います。 naoto0216さん Green_Treeさん お二人ともご親切にありがとうございました。 先に回答いただいたnaoto0216には申し訳ありませんが、今回は直接解決に至ったGreen_Treeさんの回答をベストアンサーとさせていただきます  (*_ _)人ゴメンナサイ 感謝します(*- -)(*_ _)ペコリ

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.3

<補足> Replaceの箇所についてですが、 Replace(i.Address, "現在のパス", "変更したいパス", , , vbTextCompare) です。 要するに、"現在のパス"を"変更したいパス"に置換しています。 なので、現在のパスが間違っていると、置換できません。 例えば、ハイパーリンクでhttp://www.aaa.co.jp があったとして、それを http://www.bbb.co.jpに変更したい場合、 Replace(i.Address, "aaa", "bbb", , , vbTextCompare) とすれば、http://www.bbb.co.jp に変更されます(aaaの部分をbbbで置換)。 今回の場合は、 file://C\Users\Admin\AppData\roaming\Microsoft\Excel\ の部分を file://C\Users\Admin\Music\に置換する・・・ってことになります。 ※よくよく見るとAdminまでは同じなので、\AppData\roaming\Microsoft\Excel\ を\Music\ に  置換した方がよいかもしれません。

aquo1000
質問者

お礼

> naoto0216さん 何度も回答いただきありがとうございます。 2度目にいただいた回答にしたがって再度やってみましたが、現在のところリンクが書き換えられた形跡はみられませんでした。 (書き換えたいリンクについては一語一句間違いがないか、何度も確認したので間違いはないはずなのですが^^) 補足いただいた内容について、再度時間をかけて挑戦してみます。 とりあえず、感謝申し上げます。 お手数おかけして申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。
  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.2

F5を押してもメッセージが出たりはしません。 ハイパーリンクが  file://C\Users\Admin\Music\データ に変更されてませんでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.1

そのシートを開いた状態で、Alt+F11を押します。 VBEの画面が開くので、挿入⇒標準モジュールを選択します。 そこに、 Sub Macro1() Dim i As Hyperlink For Each i In Sheet1.Hyperlinks i.Address = Replace(i.Address, "file://C\Users\Admin\AppData\roaming\Microsoft\Excel\", "file://C\Users\Admin\Music\", , , vbTextCompare) Next i End Sub を貼り付けて、最後に実行(F5)してみて下さい。

aquo1000
質問者

お礼

早速の回答ありがとうございます。 回答いただいた通り実行しましたが、なんら変化がないように思われます。 F5にて実行した後になにかすべきことがあるのでしょうか? エクセル初心者で十分理解できないでいます。 再度ご回答いただけたらありがたいです。 なお、この時点でベストアンサーにするを押してしまうと回答受付が終了してしまうようで、不安で押せないでします。 タイミングをみてベストアンサーとさせていただこうと思います。 ごめんなさい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelでハイパーリンクの一括置換(指定範囲)

    現在、Excel2002を使用しておりますが、ハイパーリンクの一括置換用マクロ作成でつまづいておりますので、詳しい方お願いします。 【Excelデータ】   A B C D …… 1 ★ ★ ★ ★ …… 2 ★ ★ ★ ★ …… 3 ★ ★ ★ ★ …… : : : : : ★マークの箇所のデータにURLの途中まで同じハイパーリンクが貼られています。 リンクはhttp://aaa.bbb.ccc/ddd/eee/… ここで、C列の1行目から最終行(約1万行)までのハイパーリンクのみ ddd→FFFとしてhttp://aaa.bbb.ccc/FFF/eee/… としたかったので、こちらのサイト検索をしてみると Sub ハイパーリンクの置きかえ()  Dim H As Hyperlink  For Each H In Range("B2:B101").Hyperlinks   H.Address = Replace(H.Address, "\\abc", "\\def")  Next End Sub という回答を見つけることが出来ました。 そこで、それを参考にして Sub macro1()  Dim H As Hyperlink  For Each H In Range("C1:C50000").Hyperlinks   H.Address = Replace(H.Address, "ddd", "FFF")  Next End Sub ※C列は約1万行なので5万行まで指定すればよいかと思い、この値にしてます。 とマクロを作成したのですが、 いざ実行してみると、C列だけではなく、他の列まで全部一括置換してしまいます。 私はC列だけを置換したいので、何か良い方法をご存知の方はお願い致します。 C列だけ他のシートにコピーして一括置換して元の場所に貼り付ける方法も考えたのですが、その方法ですと、D列を別の文字列に一括置換とかE列を更に別の文字列に置換… とした場合の応用がききませんので…

  • EXCELでの一括置換について

    EXCELにおいて一括置換の仕方について下記のようなことは できるのでしょうか? バージョンはEXCEL2000、OSはWIN2000を使用しております。 下記のAファイル(EXECL形式)に入力されているコードとそれに対応する品名を使用し、 Bファイルのコードを置換してCファイルのように品名に一括で置換をしたい場合、どのような方法を使用すればよいのでしょうか?やはりマクロとかを使用するのでしょうか? Aファイル  コード 品名   344 とまと   122 れもん   233 みかん  Bファイル(置換前)  コード   233   344     Cファイル(置換後)  コード   みかん   とまと  

  • EXCEL2013での一括置換

    最近会社のPCがWINDOWS7、EXCEL2013にバージョンアップしました。 EXCEL2003でできていた一括置換ができなくなりました。 縦列のセルの「8月」を「9月」に一括で置換したいのですが、 すべて置換を選んでも一つのセルしか置換されません。 あまりPCに詳しくないので、よろしくお願いします。

  • Excel2013でのハイパーリンクについて

    Excel2013での出来事です。 自身のPCフォルダやファイルを素早く開くショートカット目的として C:\Program Files\ などをハイパーリンクで設定しています。 昨日まではなんら問題なくリンク先フォルダやファイルが開けていたのですが、今日PCを立ち上げと同時にエクセルファイルでの作業をと思ったところどのリンク先も「指定されたファイルを開くことができません」となり、開くことが出来ません。 ハイパーリンクの編集を見てみると 本来なら file://C:Users\Eiko\Music\Aデータ\Bデータ\重要資料 と設定したはずが、 file://C:Users\Eiko\AppuData\Roaming\Microsoft\Excel\Bデータ\重要資料 となってしまっています。 ひとつのエクセルデータファイルの全てのシートのリンクが変更されてしまっています。 (数百~数千あるリンクを書き換えなきゃいけない状況です) ほんと、昨日までは何の問題もなくリンクされていて、なんら手を加えるようなことは一切せず、そのまま保存しPCの電源を落としました。 また、昨日今日はもちろん、ここ数日なんらかのソフトをインストールしたということもありません。 (このPCは私専用でだれもいじることはありません) なぜ、突然こうなってしまったのか、わけがわかりません。 この原因はなにが考えられるでしょうか? また、ひとつのシートの中で範囲指定してパスを一括で書き換えることは可能でしょうか? 可能だとしたらその方法が判る方、ぜひぜひ教えていただけたらありがたいです。 どうぞ、よろしくお願いいたします。

  • エクセルで強制終了後の修復データが値の更新が出る

    エクセルで強制終了になり修復データを開きました。 すると関数の参照がおかしく正しく反映がされません。 ●正しい参照  '[商品情報 一覧表.xlsx]ピックアップ'!G8 ●修復後の参照  'C:\Users\master\AppData\Roaming\Microsoft\Excel\[商品情報 一覧表.xlsx]ピックアップ'!G8 C:\Users\master\AppData\Roaming\Microsoft\Excel に商品情報 一覧表のデータを置き開くと 正しい参照になりますが閉じると元に戻ります。 C:\Users\master\AppData\Roaming\Microsoft\Excel の文字を消しても消えません。 元に戻す方法はないでしょうか?

  • Excel 塗りつぶしの色一括置換

    閲覧ありがとうございます。 Ctrl + H ⇒ 書式欄から背景色だけの変更をしようと試みたのですが、 「置換対象のデータが見つかりません。検索対象のデータの書式と条件が適切に指定されていることを確認してください。…(略)」 となってしまい、置換できません。 これは文字が入力されているから使えないのでしょうか? 文字がいろいろと入力されているのですが、背景の色だけを一括で変える方法は何かありませんでしょうか?

  • Excel97で、ハイパーリンクを一括変更するには?

    Excel97で、ハイパーリンクを一括変更するには? 古いソフトで大変恐縮ですが、ネットワーク上で、サーバAに保存されたWordデータにリンクされる様にExcel97でハイパーリンクを設定しています。(このリンクはハイパーリンク関数ではなく直接入力したものです。) この度、このリンク先のWordデータの保存先を別のサーバBに変更することになりました。そこでExcelのハイパーリンクも変更したいのですが、データ数が膨大な為、一括で変更できる方法はありませんか? 過去の質問で似たような回答がありましたが(http://okwave.jp/qa/q1323629.html)、このコードの「Replace」はExcel97VBAでは使用不可だと思います。「Replace」の替わりに「Application.WorksheetFunction.Substitute」を使用してみましたが、「Substitute」でコンパイルエラーがでてしまいます。なにか足りない引数等があるようでしたらアドバイス下さい。 なお、Wordデータは日付をデータ名にして年代ごとに保存されています(例:¥¥サーバB¥2009¥0101.doc)。ちなみにExcelでは、A列にハイパーリンク、B列にデータ名を記述してあります。VBAではなく関数を利用して変更する方法があればそれでもかまいません。(例えばC1セルに「¥¥サーバB¥2009¥」まで記述して、A2セルに「$C$1 & B2 & .doc」みたいな記述をしてそれをA3セル以下全部コピーする事って可能でしょうか?)

  • Excel2016で文字列の一括置換を行うVBA

    Excel中級者です。Windows10, Excel2016で、別の「マスタ」シートにある表に従い、「Data」シートにある文字列を一括置換するVBAを教えていただけますと幸いです。マスタ表は2列 100行で1列目に置換前の語、2列目に置換後の語があります。dataシートは1顧客1行で、20列に商品名が入っており、同シートで一括置換を実行したく存じます。どうぞよろしくお願い申し上げます。

  • excel2013の式置換

    Aシ-トとBシ-トのデータ-をCシ-ト上の式で計算してます、式の27年を28年に置換したいと思います。すべて置換としますとセル1個ずつ値の更新となります。バ-ジョンは忘れましたが以前はすべて置換とすると一括変換して何個置換しました、となったのですがExcel2013はそれが出来ませんか?教えて下さいお願いいたします。

  • EXCEL上URLデータに一括ハイパーリンク

    他のデータベースからEXCEL2003シートに移した URLデータが2万件ほどあります。 現状では、そのURLの入った2万個のセルがハイパーリンク化 されていません。 すべてのセルを一括でハイパーリンク化する方法はないでしょうか。 入力オートフォーマットの設定で、 現在は、一旦1件ずつ入力状態にしたあとエンターすると 自動でハイパーリンク化するのですが、 件数が多いのでとてもやりきれないのです。 (ハイパーリンクを一括で外す方法は見つかったのですが、 その逆がわかりません・・・)