階層フォルダのコピーによるリンク先の変更について

このQ&Aのポイント
  • 階層フォルダのコピーによるリンク先の変更方法について質問です。
  • エクセル内のセルにリンク先としてフォルダパスが指定されている場合、フォルダをコピーし名前を変更するとリンク先が自動的に変更されない問題が発生します。
  • この問題を解決するためには、特定の操作や条件が必要なのでしょうか?マクロは使用していないとのことです。
回答を見る
  • ベストアンサー

階層フォルダのコピー

少し説明しづらいのですが、質問させて頂きます。 ¥2023¥原紙¥01¥○○.xlsx といった具合にフォルダがありエクセルがあったとします。 そのエクセル内のセルにリンク先として、 =’¥2023¥原紙¥△△~~ という感じの式が入っているとします。 この場合で「原紙」フォルダをコピーし名前を変更して、「01」という名前にしたときに、上記の式が =’¥2023¥01¥△△~~ といった具合に自動で変わってくれるファイルがあるのですが、いざ別のファイルを作ろうと思うと、うまく自動でリンク先が変わってくれません。 何か操作や条件があるのでしょうか? マクロの様なものは使用していないと思います。 説明下手ですが、回答よろしくお願いいたします。

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

  • ベストアンサー
回答No.2

おっしゃる通り、ファイルのコピー時に、リンク先のパスも自動的に更新されるようになるため、同じフォルダ構造を持つ別の場所にコピーすると、リンクが正しく更新されません。 この問題を解決するためには、以下の手順を行ってください。 元のExcelファイルを開き、リンク先のパスをすべて変更します。たとえば、'=¥2023¥原紙¥△△~~'というリンクがある場合、'=¥2023¥01¥△△~~'というリンクに変更します。 元のExcelファイルを保存して閉じます。 元のExcelファイルと同じフォルダに、新しいExcelファイルを作成します。 新しいExcelファイルに必要なデータを入力します。 新しいExcelファイルを保存し、閉じます。 元のExcelファイルをコピーして、新しいフォルダに移動します。 新しいExcelファイルの名前を変更して、必要に応じてファイルを移動します。 新しいExcelファイルを開き、リンク先のパスを変更します。元のExcelファイルと同じように、'=¥2023¥原紙¥△△~~'から'=¥2023¥01¥△△~~'に変更します。 これで、新しいExcelファイルに正しいリンクが設定され、元のExcelファイルと同じフォルダ構造を持つ別の場所にコピーしても、リンクが正しく更新されるようになります。ただし、手動でリンク先を変更する必要があるため、面倒な作業になるかもしれません。

その他の回答 (1)

回答No.1

こんにちは😊! エクセルのリンク先が自動で変わる条件は、基本的には相対参照という概念です🔗🔄。相対参照は、リンク先のファイルが参照元のファイルと同じフォルダ内や、同じ階層のフォルダにある場合に自動でパスが更新されることがあります📁🔀。 しかし、相対参照は必ずしも自動でパスが更新されるわけではありません😅💦。更新されない場合は、以下の方法で手動でリンク先を更新してみてください👇✨。 エクセルを開き、[データ] タブをクリックします💻🖱️。 [クエリと接続] グループの中にある [リンクの編集] をクリック🔗✏️。 [リンクの編集] ダイアログボックスが表示されます。ここで、新しいフォルダ名に変更されたリンク先を選択し、[変更ソース] ボタンをクリック🔍🔄。 新しいフォルダを選択し、[開く] をクリック📁👆。 [リンクの編集] ダイアログボックスで [閉じる] をクリックして完了✅🚪。 この方法でリンク先が正しく更新されることを願っています🤞🌟!

関連するQ&A

  • フォルダをコピーして名前を変更するマクロ

    フォルダをコピーして、名前を変更するマクロを教えて下さい P:\工程管理\AF UG というアドレスの中に KBB45033#○○○作業データ(原紙) というフォルダの名前があります。 またこのKBB45033#○○○作業データ(原紙)のフォルダ内には KBB45033#○○○加工データ KBB45033#○○○進捗表 KBB45033#○○○調整データ KBB45033#○○○面検データ という名前の4つのフォルダと KBB45033#○○○ばね厚.xls という名前の1つのファイルがあります。 さらに KBB45033#○○○加工データ のファルダ内には KBB45033計算シート_受光部用_#000-2_Ver1.02.xls という名前のファイルがあります。 エクセルシートのB3セルに105と入力し、マクロを実行した際に P:\工程管理\AF UGのフォルダに 上記に書いたフォルダ名や、ファイル名の○○○の所が105となって フォルダがコピーできるマクロを教えて下さい。 現在はネットで調べてKBB45033#○○○作業データ(原紙)のフォルダ名だけは 出来るようになりました。 サブフォルダや、その中にあるファイル名の変え方がわかりません。 Sub test_fs034_02()    Dim fso         As Object   'ファイルシステムオブジェクト    Dim strSrc     As String   'コピー元    Dim strDst     As String   'コピー先    'メインオブジェクトの生成    Set fso = CreateObject("Scripting.FileSystemObject")    'コピー元フォルダパスの設定    strSrc = "P:\工程管理\AF UG\KBB45033#○○○作業データ(原紙)"    'コピー先フォルダパスの設定(フォルダ名変更)    strDst = "P:\工程管理\AF UG\KBB45033#" & Range("B3").Value & "作業データ"    'フォルダのコピー(上書き)    fso.CopyFolder strSrc, strDst    'オブジェクト変数のクリア    Set fso = Nothing

  • 同じ名前のフォルダーとテキストをリンクさせるVBA

    エクセルのマクロ台帳と事前にフォルダーを作った物とを ボタンを押す事により、フォルダーとテキストをリンクする様にしたいのですが、 VBA初心者でどうすれば良いか解りません。 どなたか保存先位を修正すれば良い位のVBA例を教えて頂けないでしょうか? 事前準備: フォルダーを指定の場所に保存しておく。 仮:D:\TEST\AA11111 ← リンクしたいフォルダー 内容: (1)添付資料の様に台帳を作成し、セルAにリンクさせたいフォルダー名「AA11111」を入力。 (2)入力したセルを選択し、マクロ実行ボタン「ファイルリンク」を押すと保存しておいた  D:\TEST\AA11111と台帳に記載したフォルダーと同じ名前の「AA11111」テキストがハイパーリンクする。 (3)その後、上記と同じ様にD:\TESTの中にあるフォルダーと、セル入力した同じ名前のフォルダー名とをリンク

  • excel VBA 新しいエクセルファイルの作り方

    エクセルのVBAについて、 特定のエクセルファイル(Aとします。)の情報を 下記の場所にあるエクセルファイル原紙に "C:¥Users¥Desktop¥原紙.xlsx" 書き写して、同じ場所に 新しいエクセルファイルを作成したいです。 エクセルファイルAの C3の左から4文字を原紙のN12 C3の右から4文字を原紙のP12 D3を原紙のD12 E3を原紙のL12 F3には日付(例 2023/3/12)となっていて、 月だけを取り出して原紙のB12 日だけを取り出して原紙のC12 にしたいです。 尚、エクセルファイルAのデータは1行だけではないので、 上記を最終行までループしたいです。 ループ後に名前を付けて保存で "C:¥Users¥Desktop¥20230312.xlsx" のように、その日付名前で保存したいです。 また、日付毎にエクセルのファイルをわけたいのですが、 ここのやり方が全く思いつかず、困っています。 エクセルのファイルAの情報で F3から↓が 3/12 3/14 3/12 となっていた場合に3/12で一回ファイルを保存して、 3/14で新しく原紙ファイルを開いて、保存して 既に保存されている日付の場合は、そのエクセルファイルを 開いて("C:¥Users¥Desktop¥20230312.xlsx") 記入していくようにしたいです。 説明が難しく、複雑ですが どなたかご教授頂けないでしょうか。 初めからどのように書いたらいいか教えていただけると幸いです。 お手数をおかけしますが、回答よろしくお願いいたします。

  • 二つのエクセルBOOKを結合したらなくなったファイルへのリンクが表示される

    二つの二つのエクセルBOOKを結合して、ひとつのファイルにしました。セル参照式もきっちり修正して新しいファイル名で保存しました。またマクロを使ったボタンも削除してあるにもかかわらず、開くたびに「このファイルは、○○へのリンクが...」というすでに削除したファイルとのリンクを質問するダイアローグが表示されます。セル参照式は、すべてきっちり修正したはずで古いファイル名への参照は、残ってないはずなのですが。2.8Mbにも及ぶ膨大なファイルのためもう一度セル参照計算式をすべて見直すことなど不可能な状態です。またマクロを動かすボタンは削除しましたが、エクセル95で作ったファイルをエクセル2000で開いてるのですが、マクロ自体削除できてるかどうか、マクロ一覧に出ないのでわかりません。このような状態で、開くたび「リンク...」のダイヤローグが出ないよう不具合箇所を容易に見つけ修正するいい方法はありませんか。

  • エクセルで、原紙をコピーするやり方を教えてください。

    エクセルで作ってもらった家計簿(計算を自動にやってくれるもの)が、今月分からもう無く、原紙というものはあります。原紙は使わずに、コピーして名前を変えて、とあるのですが、そのやり方がわかりません。ご存知の方、教えてください。よろしくお願いします。

  • エクセルのコピー方法

    エクセルのコピーの方法ですが、例えばフィアルがAとBがあり、ファイルA/シート(1)/A1のセル数値をシート(2)のA1でリンクさせている場合、シート(2)のA1セルをコピーしてBファイルにコピーした場合、 =[A.xlsx]Sheet1!A1となります。 =[A.xlsx]がリンクされないで→=Sheet1!A1だけで貼付けるいい方法をご存じの方教えて下さい。後から手で消していくのが面倒です。

  • Excel2010のファイルを2013にコピー

    Excel 2010で作ったファイルを 新しくWindows7を会社が導入したので Excel 2013にコピーしましたが、データーの参照がうまくいきません ひな形と言う名前のフォルダーの中に20位 データーが 入ってます。 ファイル同士がデーターの参照してるのですが、 1つのデーターだけが データーリンクがうまく行きません。 症状としては、  このエクセルでデーターを使うときは、 ひな形データーフォルダ-をコピーして 1月なら ひな形データーのフォルダー名を 1月データと名前を変えて、使うのですが、 フォルダー内のファイル同士の データーリンク先も ひな形・・・・から 1月・・・・のように変わっていたのですが、 2013で使おうとすると 1個のファイルだけ 参照先が ひな形のまま 変わりません 解決方法は ありますか? 又 何故このような症状がお香のでしょうか 教えたください 困ってます。

  • VBAで新しいフォルダを作成するには

    エクセル2010です。 新しいフォルダを作成するにはMkDir関数というのはわかりますが、フォルダがなければ作る、あれば作らないようにしたいのです。 そのやりかたをお教えいただけませんでしょうか? やりたいことは以下のようなことです。 まず、対象フォルダを指定します。 その中に多数のエクセルのBOOKがあります。 このマクロがあるBOOKのSheet1のA列に「名前リスト」があります。 名前が一致するものを、ファイルコピーして、「名前リスト」の右隣B列のセルにある「区分リスト」と同じ名前のサブフォルダ(このマクロがあるBOOKのフォルダのすぐ下です。)に貼り付ける。 ここまでは、以下のコードで少量のデータでのテストはうまくいきました。 しかし、実際には対象が1,000件近くあり、事前に作っておかなければいけないサブフォルダも何十かになります。 そこで、あらかじめサブフォルダを用意するのではなく、このマクロを作動させると自動的にサブフォルダまで作るようにできないかと欲張った質問です。 Sub TEST01()   Dim myPth(1) As String   Dim myCl As Range   Dim wb As Workbook      Set wb = ThisWorkbook   myPth(0) = wb.Path      With Application.FileDialog(msoFileDialogFolderPicker)     If .Show = True Then       myPth(1) = .SelectedItems(1) '対象フォルダ指定     Else       MsgBox "キャンセル"       Exit Sub     End If   End With      With wb.Sheets("Sheet1")     For Each myCl In .Range("A2:A11")       FileCopy myPth(1) & "\" & CStr(myCl.Value) & ".xlsx", myPth(0) & "\" & myCl.Offset(, 1).Value & "\" & CStr(myCl.Value) & ".xlsx"       myCl.Offset(, 2).Value = "完了"     Next myCl   End With End Sub

  • フォルダ内の全てのブックを一つのブックへ

    エクセル2010を使っています。 フォルダ内の全てのブックの一番目のシートのみを、 BBB.xlsmというファイルの後ろへ全て1シートずつコピーしたいです。 又はBBB.xlsxでもいいです。 運用していく中で、マクロ用のファイルと作業用のファイルを分けるべきか、 一緒にするべきかも悩んでいます。 フォルダはその都度変わります。 ネットを検索してみたのですが、中々難しく、悩んでいます。 どうぞよろしくお願いします。

  • エクセル「更新できないリンクが1つ以上あります・・

    エクセル2007で「更新できないリンクが1つ以上あります・・」と出ます。 A.xlsxでA.XLSXのシートのうち1枚をマクロを使って、値のみの貼り付けで新しいB.xlsxに保存します。 次に、B.xlsxの値をC.xlsxファイルへリンク貼り付けします。 A.xlsxとC.xlsxが同じフォルダにあるときは、上記のメッセージはでませんが、 A.xlsxを他のフォルダに移すと「更新できないリンクが1つ以上あります・・」と出ます。 C.xlsxからA.XLSXの値は参照していませんし、B.xlsxの内容は値のみを貼り付けているので、A.xlsxとB.xlsxはリンクはしていません。 「更新できないリンクが1つ以上あります・・」でリンクの状態を見ると全てOKとなっています。 とりあえずは、A.xlsxとC.xlsxを同じフォルダに置けばメッセージはでないのですが A.xlsxとC.xlsxは、操作する人物が違い、B.xlsxはデータの受け渡しのためにつかうので、 A.xlsxとC.xlsxが異なるフォルダにあってもメッセージが出ないようにしたいのですが 原因がわかるますでしょうか。

専門家に質問してみよう